我有django 1.4,我正在学习使用django旧版本的教程。它是一个简单的教程,以页面为模型创建一个wiki应用程序。窗体操作不在django中工作
问题是没有调用窗体中与POST方法对应的视图函数。
这是urls.py内容:
url(r'^wikicamp/(?P<page_name>[^/]+)/edit/$', 'wiki.views.edit_page'),
url(r'^wikicamp/(?P<page_name>[^/]+)/save/$', 'wiki.views.save_page'),
url(r'^wikicamp/(?P<page_name>[^/]+)/$', 'wiki.views.view_page'),
这是模板edit.html的内容:
<from method = "get" action="/wikicamp/{{page_name}}/save/">
{% csrf_token %}
<textarea name = "content" rows="20" cols="60">
{{content}}
</textarea>
<br/>
<input type="submit" value="Save Page"/>
</form>
<a href="/wikicamp/{{page_name}}/save/">this is link to save</a>
而且这是在views.py内容:
def edit_page(request, page_name):
try:
page = Page.objects.get(pk=page_name)
content = page.content
except Page.DoesNotExist:
content = ""
return render_to_response("edit.html", {"page_name":page_name, "content":content}, context_instance=RequestContext(request))
def save_page(request, page_name):
return HttpResponse("You're looking at the page %s." % page_name)
我最初得到csrf相关的错误,然后我尝试了所有在提供的修复3210并遵循许多与POST和django相关的stackoverflow问题。现在没有任何反应,当我点击“保存页面”按钮时,什么都没有!甚至没有任何要求从窗体发送(使用萤火虫跟踪HTTP请求和响应)
哦,上帝杀了我!是的,这是错误的 不,'save_page'是一个复杂的功能。谢谢! – krips89