【问题标题】:Can't post to view [closed]无法发帖查看[关闭]
【发布时间】:2015-02-16 19:11:16
【问题描述】:

我正在创建一个 django 应用程序。我有一个观点,我希望它同时支持 get 和 post 方法。 Get 工作正常,但 post 由于某种原因无法正常工作。

我的看法:

class NewCustomer(View):
    def get(self,request):
        c = {}
        c.update(csrf(request))
        return render_to_response("Customer/NewCustomer.html",c)
    def post(self,request):
        c = Customer
        c.Name = request.POST.get("name", "")
        c.Surname = request.POST.get("surname", "")
        c.Email = request.POST.get("Email", "")
        c.PhoneNumber = request.POST.get("PhoneNumber", "")
        c.Address = request.POST.get("Address", "")
        c.SendEmail = request.POST.get("SendEmail", "")
        c.SendSms = request.POST.get("SendSms", "")

        Customer.objects.CreateCustomer(c)

网址配置:

url(r'^Customers/New',login_required(NewCustomer.as_view()),name="NewCustomer"),

模板只是一个带有少量输入和一个提交按钮的表单。当我点击按钮时,参数被添加到 url 并且它变得像

/Customers/New?Name=s&Surname=b

这里有什么问题?

【问题讨论】:

  • 由于您没有发布模板我们只能猜测,但是您是否将method="POST"放在了表单标签中?
  • 我们也想知道这个问题。至少c = Customer 看起来不太对劲。
  • @AnttiHaapala 我是一名学习者,但由于我无法发布我的表格,我无法测试该行。

标签: python django python-2.7


【解决方案1】:

问题是您的<form> 元素没有正确指定方法;即它应该说

<form ... method="post">

在没有method="post" 的情况下,表单将默认为GET 方法;它的症状是所有参数都在?之后的URL中结束


另外,您的视图可能应该有c = Customer(),基于此信息我尚无法知道其他内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多