![](/img/trans.png)
[英]Does Django request.REQUEST.get() contain BOTH GET and POST parameters?
[英]Django: “request” does not contain the 'method' (POST/GET)
我已經為客戶創建了一個[看似]直接的表單,但是,在用戶提交表單之后,當我嘗試檢查退貨請求時,我得到了:
異常類型:AttributeError異常值:“ QueryDict”對象沒有屬性“ method”
當我檢查時,我看到請求對象僅包含表單中提交的數據,並且不包含“ method”屬性
這是表單使用的功能:
def institutionapply(request):
print(request)
print("request: ",request)
a=get_ip(request)
print (a)
country=get_country(request)
# if this is a POST request we need to process the form data
if request.method == 'POST':
# create a form instance and populate it with data from the request:
form = institutionapply(request.POST)
print ("form in post clause:",form)
#print ("duration output:",form.duration)
# check whether it's valid:
if form.is_valid():
print ("print form is valid")
print (form.cleaned_data['title'])
print (form.cleaned_data['country'])
# process the data in form.cleaned_data as required
# ...
# redirect to a new URL:
#return HttpResponseRedirect('/thanks/')
#return redirect(name='home')
# if a GET (or any other method) we'll create a blank form
else:
# create a form instance and populate it with data from the request:
data = {'title': '', 'first': '', 'last':'', 'country':'','internationalprefix':'','phone':'','email':'','institutionname':'','institutionurl':'',}
form = institutionform(data)
return render(request,'app/intitutionapply.html', {'form': form})
有什么想法為什么找不到“方法”對象?
編輯:URL配置:
urlpatterns = [
url(r'^$', views.home, name='home'),
url(r'^InstitutionApply$', views.institutionapply, name='institutionapply'),
url(r'^contact$', views.contact, name='contact'),
url(r'^about', views.about, name='about'),
url(r'^admin/', admin.site.urls),
從html模板開始,表單聲明為:
views.py中的功能
def get_country(request):
a=get_ip(request)
country='United States'
g = GeoIP2(path='D:/newTelumis/newTelumis/GeoLite2-Country.mmdb')
return country
def get_ip(request):
try:
x_forward= request.META.get("HTTP_X_FORWARD_FOR")
if x_forward:
ip=x_forward.split(",")[0]
else:
ip=request.META.get("REMOTE_ADDR")
except:
ip=""
return ip
def institutionapply(request):
...
if request.method == 'POST':
...
form = institutionapply(request.POST)
用institutionapply
表格代替institutionform
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.