我在基本Django視圖中創建了一個新產品,並使用AJAX篩選行業列表中的以下代碼。我想將ajax處理代碼移入一個單獨的方法,但我得到該視圖沒有返回HttpResponse對象。它返回None而不是。 任何人都可以推薦的方式來安全地分離出來嗎?我有其他觀點使用確切的邏輯。從Django幫助函數返回HttpResponse時出錯
def new_instrument(request):
if request.is_ajax() and request.method == 'GET':
if request.GET.get('typeis') =='industry':
print('Now loading industries')
sectorid = int(request.GET.get('sector_is'))
sector = models.SecSectorMaster.objects.filter(pk=sectorid).order_by('sectorname')
industries = models.SecIndustryMaster.objects.filter(sectorid=sector).order_by('industryname')
industry_dict = {}
for this_i in industries:
industry_dict[this_i.industryid] = this_i.industryname
return HttpResponse(
json.dumps(industry_dict),
content_type="application/json"
)**
if request.method == 'POST':
mainform= forms.EditInstrumentForm(sector,industrygroup,industries,request.POST,prefix="main")
if mainform.is_valid():
security = mainform.save()
selectid = security.pk
return redirect('instrumentsapp.views.security_list')
else:
return render(request, 'instrumentsapp/edit_instrument.html', {'mainform': mainform})
else:
mainform = forms.EditInstrumentForm(prefix="main")
return render(request, 'instrumentsapp/edit_instrument.html', {'mainform': mainform})
在什麼地方發生錯誤? – Sayse
在頁面上觸發了ajax函數,這裏這個視圖被稱爲 – Avagut
如果請求方法是Ajax,但typeis!='industry'會發生什麼? –