奇怪的网址模式通过django中的表单提交

时间:2012-08-15 08:39:55

标签: django forms django-urls

我在页面上有一个表单:

    <form id="create_event" method="post" action="{% url app.views.create_event course.id %}" >
        {% csrf_token %}
        {{ eventForm.as_p }}
        <input type="submit" value="add event">
    </form>

在我的urls.py中我有

(r'^item/(?P<item_id>\w+)/create_event/$', create_event),
(r'^item/(?P<item_id>\w+)/$', item),

我有两个函数create_event和item在我的localhost上工作。

但是,出于某种原因,当我在表单上按提交时我的服务器端(1.2.3关于webfaction,我坚持使用1.2.3)django抛出以下错误:

Page not found (404)
Request Method: GET
Request URL:    http://my_url/item/1/create_event/app.views.course

当我用硬编码的URL替换{%url app.views.create_event course_id%}时,它仍以某种方式将方法名称附加到URL。这可能是一个问题1.2.3尚未具备我以前习惯使用1.3的一些功能吗?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

尝试将您的网址更改为:

(r'^item/(?P<item_id>\w+)/$', item, name='item'),

然后将create_event中的重定向更改为:

return redirect('item', item_id = item_id)