我有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