加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – Django错误— index()缺少1个必需的位置参数:’pk’

发布时间:2020-12-20 12:02:00 所属栏目:Python 来源:网络整理
导读:尝试打开路径时出现此错误.它需要我的def中的PK并且我插入它,但问题仍然存在.如果有人可以提供帮助,我会欠你很多! 这是我在浏览器中出现的错误: TypeError at /batches/index() missing 1 required positional argument: 'pk'Request Method: GETRequest U
尝试打开路径时出现此错误.它需要我的def中的PK并且我插入它,但问题仍然存在.如果有人可以提供帮助,我会欠你很多!

这是我在浏览器中出现的错误:

TypeError at /batches/
index() missing 1 required positional argument: 'pk'
Request Method: GET
Request URL:    http://127.0.0.1:8000/batches/
Django Version: 1.11.1
Exception Type: TypeError
Exception Value:    
index() missing 1 required positional argument: 'pk'
Exception Location: /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py in _get_response,line 185
Python Executable:  /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
Python Version: 3.6.1
Python Path:    
['/Users/cohen/Documents/project/sanctions','/Users/cohen/Documents/project/sanctions','/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages','/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyObjC']
Server time:    Mon,24 Jul 2017 10:47:02 +0000

我的网址分批

from django.conf.urls import url
from . import views

urlpatterns = [
    # /batches/
    url(r'^$',views.index,name='index'),# /batches/2
    url(r'^(?P<batches_id>[0-9]+)/$',views.detail,name="detail"),# businessname/1
    url(r'^(?P<businessname_id>[0-9]+)/$',views.index_businessname,name="detail_businessname"),# individuals/1
    url(r'^(?P<individuals_id>[0-9]+)/$',views.index_individuals,name="detail_individuals"),]

意见:

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from .models import BusinessName
from .models import Individuals
from .models import Batches

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
def index(request,pk):
    all_Batches = Batches.objects.all()
    html = ''
    for batch in all_Batches:
        url = '/batches/' + str(batch.id) + '/'
        html += '<a href="#"' + url + '">' + str(batch.BatchNumber)+ '</a><br>'
    return  HttpResponse(html)

def detail(request,batch_id):
    return HttpResponse("<h2>Details for Batches ID:"  + str(batch_id) + "</h2")


def index_businessname(request):
    all_BusinessNames = BusinessName.objects.all()
    html = ''
    for bn in all_BusinessNames:
        url = '/businessname/' + str(bn.id) + '/'
        html += '<a href="#"' + url + '">' + bn.FullName + '</a><br>'
    return HttpResponse(html)

def detail_businessnames(request,bn_id):
    return HttpResponse("<h2>Details for Business Names ID:"  + str(bn_id) + "</h2")

def index_individuals(request):
    all_individuals = Individuals.objects.all()
    html = ''
    for i in all_individuals:
        url = '/individuals/' + str(i.id) + '/'
        html += '<a href="#"' + url + '">' + i.FullName + '</a><br>'
    return HttpResponse(html)


def detail_individuals(request,i_id):
    return HttpResponse("<h2>Details for Individual Names ID:"  + str(i_id)+ "</h2")

先感谢您,
科恩

解决方法

索引视图有两个参数.您编写的URL仅提供请求.您必须将pk作为输入提供,就像详细URL一样

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读