我views.py:如何通過extra_context中用到 「redirect_to的」 方法在Django蟒蛇
@login_required
def some_views(request):
if request.method == 'POST':
form = AddressCreateFrom(request.POST)
if form.is_valid():
name = form.cleaned_data['Address']
ip_value = form.cleaned_data['value']
user_list = get_username(name)
address_create = form.save()
extra_context = {
'user_list': user_list
}
return redirect_to(request, url=address_create.get_absolute_url())
else:
form = AddressCreateFrom()
extra_context = {
'form':AddressCreateFrom(initial={'user': request.user.pk})
}
return direct_to_template(request,'networks/user_form.html',extra_context)
在form.py:
class AddressCreateFrom(forms.ModelForm):
Address = forms.CharField(max_length=40)
value = forms.CharField(max_length=40)
class Meta:
model = Network
widgets = {
'user': forms.HiddenInput()
}
正如你看到的,我使用Djang模型形式兩個額外的Django表單字段,即AddressCreateForm
類中的Address and value
。在渲染模板時,我需要所有的字段。
事實上some_views
方法工作正常,但我也想呈現寫在context_dictionary
即user_list
一些額外的數據請求URL
即address_create.get_absolute_url()
。
如果我沒有錯,如果我們正在處理數據庫,我們必須使用redirect_to
方法。有可能這樣做嗎?
你究竟想要做什麼? extra_context應該是什麼意思?爲什麼重定向需要任何類型的任何上下文? –
@DanielRoseman我正在嘗試將網絡模型字段的uesr_list變量(這是一個列表數據類型)傳遞給模板。我在*** Address和ip_value ***字段的基礎上進行了一些計算後得到了這個user_list。如果我這樣做,那麼我不能渲染*** user_list ***變量來模板 –
-1「什麼」。我正在問這個竅門。問題 –