【发布时间】:2014-11-23 16:26:00
【问题描述】:
我不断收到这个错误,我花了几个小时试图找出我的代码出了什么问题。
这是我的文件:
views.py
from django.shortcuts import render
from django.http import HttpResponse
from django.template import RequestContext, loader
from django.utils import timezone
from guestbook.models import Post
# Create your views here.
def posts(request):
if (request.POST.get('name', 0)):
name = request.POST['name']
text = request.POST['text']
title = request.POST['titile']
p = Post(name=name, title=title, text=text, pub_date=timezone.now())
p.save()
newest = Post.objects.order_by('-pub_date')[:5]
template = loader.get_template('guestbook/index.html')
context = RequestContext(request, {
'newest_post': newest,
'kalli': 543
})
return HttpResponse(template.render(context))
def write(request):
return render(request, 'guestbook/form.html')
urls.py:
from django.conf.urls import patterns, url, include
from guestbook import views
urlpatterns = patterns('',
url(r'^$', views.posts, name='posts'),
url(r'^write', views.write, name='writer'),
)
*/urls.py
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^polls/', include('polls.urls', namespace="polls")),
url(r'^guestbook/', include('guestbook.urls', namespace="guestbook")),
url(r'^admin/', include(admin.site.urls)),
)
我的错误在这个文件的某个地方,但我在问题中输入了其他代码以防万一,
/guestbook/write 处的 NoReverseMatch
带有参数“()”和关键字的“guestbook.posts”反向 未找到参数“{}”。尝试了 0 个模式:[]
请求方法:GET 请求 URL: localhost:8000/guestbook/write Django 版本:1.6.6 异常类型:NoReverseMatch 异常值:
带有参数“()”和关键字的“guestbook.posts”反向 未找到参数“{}”。尝试了 0 个模式:[]
异常位置: c:\python33\lib\site-packages\django\core\urlresolvers.py 在 _reverse_with_prefix,第 456 行 Python 可执行文件:c:\python33\python.exe Python 版本:3.3.5
以上是我的错误。
论坛.html
What's you name?<br>
<form action="{% url 'guestbook.posts' %}" method="post">
{% csrf_token %}
<input type="text" name="name">
<input type="text" name="title">
<textarea rows=15 cols=100 name="text">
<input type="submit" value="Send post">
</form>
【问题讨论】: