-1

次のエラーが発生します。view_page() takes exactly 2 arguments (1 given)

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'),
4

3 に答える 3

1

これは、view_page()の2番目のパラメーターが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)

これを使うなら

url(r'^wiki/$', 'wiki.views.view_page'),

something.com/wiki/  #The second parameter is not passed to the function
于 2012-08-29T10:08:59.047 に答える
0

クエリセットが間違っていると思います。URLでpage_nameを渡す場合は、次のようになります。

Page.objects.get(name=page_name)
于 2012-08-29T09:45:23.277 に答える
0

たぶん2番目の引数はオプションである必要がありますか?

def view_page(request, page_name="Default value"):
于 2012-08-29T09:52:28.033 に答える