2022暑期实践(Django教程学习记录)(第二周3)P32用户-添加ModelsForm方法

P32用户-添加ModelsForm方法

{% extends 'layout.html' %}


{#    <h3>models添加用户</h3>#}
{#    <form method="POST" action="/user_add_modelform/">#}
{#        {% csrf_token %}#}
        {#        <div>#}
        {#            <p>手动写</p>#}
        {#            <p>{{ form.name.label }}{{ form.name }}</p>#}
        {#            <p>{{ form.password.label }}{{ form.password }}</p>#}
        {#            <p>{{ form.age.label }}{{ form.age }}</p>#}
        {#        </div>#}

        {#        <div>#}
        {#        <p>自动循环生成</p>#}
        {#        {% for field in form %}#}
        {#            <p>{{ field.label }}:{{ field }}</p>#}
        {#        {% endfor %}#}
        {#        </div>#}
        {#        <div>#}
{#    </form>#}


{% block content %}
<div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title">新建用户ModelForm</h3>
            </div>
            <div class="panel-body">
                <form action="/user_add_modelform/" method="POST">
                    {% csrf_token %}
                    {% for field in form %}
                    <div class="form-group">
                        <label>{{ field.label }}</label>
                        {{ field }}
                    </div>
                    {% endfor %}
                    <button type="submit" class="btn btn-default">提交</button>
                </form>
            </div>
        </div>
    </div>

{% endblock %}
from django import forms


class UserModelForm(forms.ModelForm):
    class Meta:
        model = models.UserInfo
        fields = ['name', 'password', 'age', 'account', 'gender', 'department']
        # 可以用widgets 添加前端样式,可以用,比较麻烦
        # widgets = {
        #     "name": forms.TextInput(attr={'class': 'form-control'}),
        #     "password": forms.TextInput(attr={'class': 'form-control'}),
        # }
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for name, field in self.fields.items():
            print(name, field)
            # 跳过不加样式:
            if name == "password":
                continue
            field.widget.attrs = {'class': 'form-control', 'placeholder': field.label}


def user_add_modelform(request):
    form = UserModelForm()
    print(form)
    return render(request, 'user_add_modelform.html', {"form": form})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值