根據此post,我試圖修改我的整個腳本,以便在我的Django應用程序中獲得Class Based Views
(CBV)。將基於功能的視圖遷移到基於類的視圖
我想得到任何幫助,因爲這是我第一次使用CBV。
我以前的腳本函數是這樣的:
@login_required
def IdentityIndividuForm(request) :
success = False
query_Nom_ID = query_Prenom_ID = query_VilleNaissance_ID = None
if 'recherche' in request.GET:
query_Nom_ID = request.GET.get('q1NomID')
query_Prenom_ID = request.GET.get('q1PrenomID')
query_VilleNaissance_ID = request.GET.get('q1VilleNaissanceID')
sort_params = {}
lib.Individu_Recherche.set_if_not_none(sort_params, 'Nom__icontains', query_Nom_ID)
lib.Individu_Recherche.set_if_not_none(sort_params, 'Prenom__icontains', query_Prenom_ID)
lib.Individu_Recherche.set_if_not_none(sort_params, 'VilleNaissance__icontains', query_VilleNaissance_ID)
query_ID_list = Individu.objects.filter(**sort_params)
else :
query_ID_list = Individu.objects.none()
if request.method == 'POST':
form = IndividuFormulaire(request.POST or None, request.FILES or None)
if form.is_valid() :
post = form.save()
return HttpResponseRedirect(reverse('IndividuResume', kwargs={'id': post.id}))
else :
form = IndividuFormulaire()
form.fields['Utilisateur'].initial = request.user.last_name + " " + request.user.first_name
context = {
"form" : form,
"Individu" : Individu,
"query_Nom_ID" : query_Nom_ID,
"query_Prenom_ID" : query_Prenom_ID,
"query_VilleNaissance_ID" : query_VilleNaissance_ID,
"query_ID_list" : query_ID_list,
}
return render(request, 'Identity_Individu_Form.html', context)
我有一個GET
部分和POST
部分在我的功能,但兩個部分是獨立的。第一個讓我們對我的數據庫進行研究。第二個可以創建一個對象到我的數據庫。
我的問題是:我可以用基於CBV的函數覆蓋GET部分?
我的新功能form_valid(self, form)
效果不錯,但我沒有克服將GET
部件遷移到我的CBV部件。
謝謝!
我的問題或我的腳本也許是不好的,看看人們是否存在)和CreateForm。 但這兩個元素都是獨立的。 'get_context_data'可能不是很好的功能? – Deadpool
不幸的是,我不完全理解你,可能是你可以添加你的邏輯,而不是當前代碼的問題。 –
好的,我會編輯我的問題。但是,如果我只想對我的數據庫進行一些研究並使用基於類的視圖將結果顯示在我的模板中,我該怎麼寫呢? – Deadpool