python - 表单操作在 Django 中不起作用

标签 python django forms post submit

我有 django 1.4,我正在学习使用旧版本 django 的教程。这是一个简单的教程,它创建了一个以 Page 为模型的 wiki 应用程序。

问题是表单中与 POST 方法对应的 View 函数没有被调用。

这是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 相关的错误,然后我尝试了 https://docs.djangoproject.com/en/dev/ref/contrib/casrf/ 中提供的所有修复程序并关注了许多与 POST 和 django 相关的 stackoverflow 问题。现在,当我单击“保存页面”按钮时没有任何反应,没有任何反应!甚至没有从表单发送任何请求(使用 Firebug 跟踪 HTTP 请求和响应)

最佳答案

您的 HTML 中有错别字:from 而不是 form

您可能会意识到这一点,但该代码不会真正保存任何内容。我不确定您关注的是哪个博客,但您最好先阅读文档中的官方 Django 教程,然后再阅读表单文档。

关于python - 表单操作在 Django 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015064/

相关文章:

python - 在 Python 中获取列表中较小的 n 个元素

javascript - 将 ajax 与 django 集成

Angular Reactive Forms 从类型生成表单控件

php - 我的联系表发送空白 body_messages

python - 在挂载 Raspberry Pi 时自动将文件复制到 USB

python - 使用 Pandas 在 Python 中读取大块的 csv 文件

python - 使用 Django/Python 从下拉列表中传递多个变量

javascript - 表单克隆唯一标识

python:带有未编码二进制数据的HTTP PUT

django - 在 Django 中将上传的 InMemoryUploadedFile 作为临时文件保存到磁盘