Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python view.py的问题_Python_Django_Django Views - Fatal编程技术网

Python view.py的问题

Python view.py的问题,python,django,django-views,Python,Django,Django Views,我收到以下错误:view\u page()正好接受2个参数(给定1个) view.py的代码是: from wiki.models import Page from django.shortcuts import render_to_response def view_page(request, page_name): try: page = Page.objects.get(pk=page_name) except PageDoesNotExist:

我收到以下错误:
view\u page()正好接受2个参数(给定1个)

view.py的代码是:

from wiki.models import Page
from django.shortcuts import render_to_response

def view_page(request, page_name):
   try:
         page = Page.objects.get(pk=page_name)
   except PageDoesNotExist:
         return render_to_response("create.html", {"page_name":page_name})
url.py中给出的url为:

url(r'^wiki/$', 'wiki.views.view_page'),
但是当我给出下面给出的url并删除上面的url时,我得到的错误是页面未找到

url(r'^wiki/(?P<page_name>[^/]+)/$','wiki.views.view_page'),
url(r'^wiki/(?P[^/]+)/$,'wiki.views.view_page'),

我认为您的查询集是错误的。如果您在URL中传递页面名称,那么它应该如下所示:

Page.objects.get(name=page_name)

也许第二个参数应该是可选的

def view_page(request, page_name="Default value"):

这是因为view_page()的第二个参数是在url中传递的

范例

url(r'^wiki/(?P<page_name>[^/]+)/$','wiki.views.view_page')

something.com/wiki/2   #here 2 is the second parameter which is like

def view_page(request, 2)

因为您只传递了一个参数,而您的view_page()接受两个参数显示您正在从那里调用此url,您是否传递了页码,但当我将我的url修改为
url(r'^wiki/(\d+),'wiki.views.view_page'),
时,出现错误,页面未找到
url(r'^wiki/$', 'wiki.views.view_page'),

something.com/wiki/  #The second parameter is not passed to the function