Django的第一个应用程序
问题描述:
我的第一个django应用程序(它的名字是magghy)有一些问题。我正处于开发阶段。所以,我有: magghy/urls.py:Django的第一个应用程序
from django.conf.urls import *
from magghy import views
from . import views
app_name = 'magghy'
urlpatterns = [
# esempio: /magghy/
url(r'^$', views.index, name='index'),
#esempio: /magghy/5/
url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
# ex: /magghy/5/results/
url(r'^(?P<question_id>[0-9]+)/results/$', views.results, name='results'),
# ex: /magghy/5/vote/
url(r'^(?P<question_id>[0-9]+)/vote/$', views.vote, name='vote'),
]
在magghy/views.py:
from __future__ import unicode_literals
from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect, HttpResponse
from .models import Choice, Question
from django.template import loader
from django.urls import reverse
#visualizzare domande e argomento specifico - collegare con modulo magghy.urls
def detail(request, question_id):
return HttpResponse("You're looking at question %s." % question_id)
def results(request, question_id):
response = "You're looking at the results of question %s."
return HttpResponse(response % question_id)
def vote(request, question_id):
return HttpResponse("You're voting on question %s." % question_id)
#visualizzare pagina html secondo schema index.html oppure html 404 (eccezione)
def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
template = loader.get_template('magghy/index.html')
context = RequestContext (request, {
'latest_question_list': latest_question_list,
})
return HttpResponse(template.render(context))
#visualizzare pagina 404
def detail(request, question_id):
try:
question = Question.objects.get(pk=question_id)
except Question.DoesNotExist:
raise Http404("Question does not exist")
return render(request, 'polls/detail.html', {'question': question})
在mysite的/ urls.py:
from django.conf.urls import *
from django.contrib import admin
from magghy import views
urlpatterns = [
url(r'^magghy/', views.detail),
url(r'^admin/', include (admin.site.urls)),
]
页http://127.0.0.1:8000/admin/完美的作品! 页http://127.0.0.1:8000/magghy/不起作用 页面http://127.0.0.1:8000/magghy/5不起作用
在这两种情况下,终端日志:
Internal Server Error: /magghy/
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
TypeError: detail() takes exactly 2 arguments (1 given)
请,你能帮帮我吗?非常感谢!
Adri
答
mysite的/ urls.py直接链接到详细视图,而不是包括该应用的URL。它应该是:
urlpatterns = [
url(r'^magghy/', include('magghy.urls')),
url(r'^admin/', include (admin.site.urls)),
]
感谢一下!!!!!!! :) – Adryr83
@ Adryr83标记答案为答案;) – Jonathan