Django HttpResponseRedirect - python

我创建了一个基本的联系表单,当用户提交信息时,它应该重定向到“谢谢”页面。

views.py :

def contact(request):
    # if no errors...
    return HttpResponseRedirect('/thanks/')

urls.py :

(r'^contact/$', contact),
(r'^contact/thanks/$', contact_thanks),

两个页面都在硬编码的URL上工作。但是,当我在/contact/上提交表单时,它将重定向到/contact(无结尾斜杠),这是一个不存在的页面(404或错误页面告诉我我需要一个斜杠)。

它无法正确重定向的原因是什么,我该如何解决?

更新:就是我现在拥有的return HttpResponseRedirect('/contact/thanks/'),但是问题是,提交按钮(使用POST)无法重定向到URL-根本没有重定向。

参考方案

重定向的不是POST按钮,而是视图。

如果没有另外指定,则表单(HTML表单标记)将发布到相同的URL。如果表单在/ contact /上,则在/ contact /上过帐(带有或不带有斜杠,都是一样的)。

您认为应该重定向到“谢谢”。从文档中:

def contact(request):
    if request.method == 'POST': # If the form has been submitted...
        form = ContactForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            return HttpResponseRedirect('/thanks/') # Redirect after POST
    else:
        form = ContactForm() # An unbound form

    return render_to_response('contact.html', {
        'form': form,
    })

/thanks/更改为/contact/thanks/即可完成。

django-getlist() - python

我刚刚发布了这个问题jQuery - passing arrays in post request,在发布请求中我不发送数组,但是jQuery代码没有问题。问题在于在django中接收到POST请求。我确实喜欢这个def portfolio_add(request): ukeys = request.POST.getlist('ukeys'…

django-simple-history,在admin中显示更改的字段 - python

当我从admin.ModelAdmin继承时,在管理页面的历史记录中,我可以看到哪些字段已更改。但是,现在我需要使用django-simple-history来跟踪所有模型更改。现在,对于管理员,我继承了simple_history.SimpleHistoryAdmin。我可以看到所有模型更改并还原它们,但看不到更改了哪些字段。是否可以在SimpleHist…

Django BigInteger自动递增字段作为主键? - python

我目前正在建立一个涉及大量集体智慧的项目。每个访问该网站的用户都将创建一个唯一的配置文件,然后将他们的数据用于为自己和其他用户计算最佳匹配。默认情况下,Django创建一个INT(11)id字段来处理模型的主键。我担心这会很快溢出(即,大约2.4b个设备在未事先设置Cookie的情况下访问了该页面)。如何在MySQL中将其更改为BIGINT并在Django自…

Django Python日期时间设置为午夜 - python

我有django对象的日期时间,但可以是一天中的任何时间。它可以是一天中的任何时间,但我需要将时间设置为00:00:00(另一个日期设置为23:59:59,但原理是相同的)end_date = lastItem.pub_date 当前的结束日期是2002-01-11 12:34:56我需要怎么做才能将其更改为00:00:00?我试过了:end_date.ho…

Django:使用contenttypes框架的一般关系示例? - python

我已经多次浏览了有关contenttypes框架的Django文档,但我对它的理解不足以在项目中实现泛型关系。我一直在寻找有关此事的在线示例或教程,但找不到一个。称我为哑巴,但在这方面我需要一些帮助(请不要仅通过链接到文档来回答问题)。基于在线资源的缺乏,我相信如果您用一个完整的例子来回答这个问题,您的答案可能是迄今为止有关django通用关系(奖金!)的最…