我正在创建一个django应用。我有一个视图,我希望它支持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 conf:
url(r'^Customers/New',login_required(NewCustomer.as_view()),name="NewCustomer"),
模板只是一个包含少量输入和提交按钮的表单。当我点击按钮时,参数会添加到网址中,并且它会变成类似
的内容 /Customers/New?Name=s&Surname=b
等
这是什么问题?
答案 0 :(得分:1)
问题是您的<form>
元素没有正确指定方法;即它应该说
<form ... method="post">
如果没有method="post"
,表单将默认为GET
方法;它的症状是所有参数都在?
此外,您的观点可能应该c = Customer()
,其他根据此信息我无法知道。