为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

隔江千里 2023-10-24 21:43:13
有一个带有下拉元素的 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?
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

request.POST.get您可以通过使用所有提交的数据所在位置来获取选择框值。


views.py


def 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>


查看完整回答
反对 回复 2023-10-24
?
哔哔one

TA贡献1854条经验 获得超8个赞

使用 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'),

]


查看完整回答
反对 回复 2023-10-24
  • 2 回答
  • 0 关注
  • 59 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信