[英]Django view not recognizing request
我有一個填寫在網頁上的表格。 表單的目的是收集一些基本信息,然后將發送者的IP也保存到DB。 表單向我的Django視圖提交POST請求,但是Django給了我錯誤:
if request.method() == 'POST':
TypeError: 'str' object is not callable
這是視圖:
from .form import SignUpForm
from django.shortcuts import render
from django.http import HttpResponseRedirect
def index(request):
if request.method() == 'POST':
form = SignUpForm(request.POST)
if form.is.valid():
signup_item = form.save(commit=False)
signup_item.ip_address = request.META['HTTP_X_FORWARDED_FOR']
signup_item.save()
return HttpResponseRedirect(request.path)
else:
form = SignUpForm()
return render(request, 'index.html', {'form': form})
這是urls.py
from django.conf.urls.import url
from django.contrib import admin
from form import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'', views.index, name='home')
]
我認為問題出在request.method(); 方法是字符串數據成員,而不是成員函數。 請記住-這是python,在這里經常刪除“ getter”以支持直接訪問類成員。
因此,請嘗試:
if request.method == 'POST':
form = SignUpForm(request.POST)
等等
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.