DjangoでWebサイトを作成しており、下記の記述をしました。
lang
1#models.py 2# -*- coding: utf-8 -*- 3from django.db import models 4class Site(models.Model): 5 id = models.IntegerField('番号', blank = True, primary_key = True, unique = True) 6 name = models.CharField(u'名称', blank = True, max_length = 100)
lang
1#urls.py 2from . import views 3urlpatterns = [ 4 url(r'^owner/$', views.owner_list),#① 5 url(r'^site/([0-9]{4})/$', views.site_detail), #② 6 url(r'^site/$', views.site_list), #③ 7 url(r'^/$', views.cls_main) #④ 8]
lang
1#views.py 2def site_detail(request): 3 return HttpResponse("Hi")
この状態で、例えば、
http://127.0.0.1:8000/cls/site/2004/
とすると、
urls.pyで#②のURLが選択されて、
views,pyで設定した、
site_detailが呼び出されて、
「Hi」と表示されるだろうと考えていました。
しかし、
「TypeError at /cls/site/2004/
detail() takes exactly 1 argument (2 given)」
というエラーが出てしまいました。
Tracebackを引用すると、下記のとおりでした。
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'bootstrapform',
'cls')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/usr/local/lib/python2.7/dist-packages/Django-1.8.2-py2.7.egg/django/core/handlers/base.py" in get_response
132.
response = wrapped_callback(request, *callback_args, **callback_kwargs)
Exception Type: TypeError at /cls/site/2004/
Exception Value: site_detail() takes exactly 1 argument (2 given)
どこに問題があるのか検討がつかないのですが、お分かりの方、ご教示いただけないでしょうか。
お手数をお掛けしますが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/06/27 08:05
2015/06/27 08:26