如何在django中显示RadioSelect小部件
我有一个模型、表单和视图,似乎无法实际显示RadioSelect小部件。它没有显示任何东西,我认为除了风景之外一切都很好,但是我不确定。 我基本上希望有人从两个单选按钮中进行选择和选择,提交,然后能够注册为两个选项之一,但就像我说的,我甚至不能让按钮显示 views.py如何在django中显示RadioSelect小部件,django,django-models,django-views,django-widget,Django,Django Models,Django Views,Django Widget,我有一个模型、表单和视图,似乎无法实际显示RadioSelect小部件。它没有显示任何东西,我认为除了风景之外一切都很好,但是我不确定。 我基本上希望有人从两个单选按钮中进行选择和选择,提交,然后能够注册为两个选项之一,但就像我说的,我甚至不能让按钮显示 views.py def registration(request): reg = Registration.objects.all() return render(request, 'HTML/Registration.htm
def registration(request):
reg = Registration.objects.all()
return render(request, 'HTML/Registration.html', {"reg":reg})
models.py
class Registration(models.Model):
OPTIONS = (
('COUNS','Counsellor'),
('CLIENT','Client'),
)
SELECT = models.CharField(max_length=15,
choices=OPTIONS)
forms.py
class Registration(forms.ModelForm):
class Meta:
model = Registration
fields = '__all__'
widgets = {'SELECT': forms.RadioSelect}
HTML
您指的是模型,而不是表单。请不要给模型和表单同名。将后缀形式添加到表单中是很常见的
# app/forms.py
from django import forms
from app.models import Registration
class RegistrationForm(forms.ModelForm):
class Meta:
model = Registration
fields = '__all__'
widgets = { 'SELECT': forms.RadioSelect }
然后在视图中,您可以创建如下表单:
# app/views.py
from app.forms import RegistrationForm
from django.shortcuts import redirect
def registration(request):
if request.method == 'POST':
reg = RegistrationForm(request.POST, request.FILES)
if reg.is_valid():
reg.save()
return redirect('name-of-some-view')
else:
reg = RegistrationForm()
return render(request, 'HTML/Registration.html', {'reg': reg})
注意:如果POST请求成功,您应该
实施。
这样可以避免在用户刷新日志时发出相同的POST请求
浏览器
您指的是模型,而不是表单。请不要给模型和表单同名。在我所有的表格中,只有一个表格末尾没有表格,谢谢你发现了这一点。它现在显示。
# app/views.py
from app.forms import RegistrationForm
from django.shortcuts import redirect
def registration(request):
if request.method == 'POST':
reg = RegistrationForm(request.POST, request.FILES)
if reg.is_valid():
reg.save()
return redirect('name-of-some-view')
else:
reg = RegistrationForm()
return render(request, 'HTML/Registration.html', {'reg': reg})