如何在 name_znat 字段中使用下拉元素输入用户选择的文本

有一个带有下拉元素的 html 表单:


<form method = "POST" action = "{% url 'create_group_handler'%}">

<select name = "select"> <! - Add an identifier here instead of using 'name' ->

<option value = "value1"> Value 1 </ option>

<option value = "value2" selected> Value 2 </ option>

<option value = "value3"> Value 3 </ option>

</ select>

</ form>

还有一个 Python django 模型:


Znat Class (models.Model):

 name_znat = models.CharField ('Name znat', max_length = 200)

假设用户选择带有文本“Value 2”的下拉元素。如何在字段中使用下拉元素输入用户选择的文本name_znat?


隔江千里
浏览 102回答 2
2回答

白衣非少年

request.POST.get您可以通过使用所有提交的数据所在位置来获取选择框值。views.pydef myview(request):    if request.method == "POST":        selected_option = request.POST.get('select')        Znat.objects.create(name_znat=selected_option)    return redirect("/"){% csrf_token %}每当您使用表单时也应该有。除非您的视图已明确标记为csrf_exempt. <form method = "POST" action = "{% url 'create_group_handler'%}">{% csrf_token %}<select name = "select"> <! - Add an identifier here instead of using 'name' -><option value = "value1"> Value 1 </ option><option value = "value2" selected> Value 2 </ option><option value = "value3"> Value 3 </ option></ select></ form>

哔哔one

使用 ModelForm,最大限度地利用 Django 的内置功能。祝你好运!models.py:class Znat (models.Model):    CHOICES = (        ('value1', 'Value 1'),        ('value2', 'Value 2'),        ('value3', 'Value 3'),    )    name_znat = models.CharField ('Name znat', max_length = 200, choices=CHOICES)forms.py:class CreateZnatForm(ModelForm):    class Meta:        model = Znat        fields = ('name_znat')        widgets = {            'name_znat': forms.Select(attrs={'class': 'form-control'}),        }views.py:class ZnatCreate(CreateView):    model = Znat    fields = ['name_znat']urls.py:urlpatterns = [    path('znat/', ZnatCreate.as_view(), name='create_group_handler'),]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5