【问题标题】:Trying to create a form尝试创建表单
【发布时间】:2020-08-31 19:23:18
【问题描述】:

目前我有以下作为我的模型

class Customer(models.Model):

    TITLE = (
            ('Mr', 'Mr'),
            ('Mrs', 'Mrs'),
            ('Miss', 'Miss'),
            ('Ms', 'Ms'),
            ('Dr', 'Dr'),
            ('Sir', 'Sir'),
            ('Madam', 'Madam'),
            )

    STATUS = (
            ('Active', 'Active'),
            ('On hold', 'On hold'),
            )

    GENDER = (
            ('Male', 'Male'),
            ('Female', 'Female'),
            )

    ROLE = (
            ('Customer', 'Customer'),
            ('Admin', 'Admin'),
            )



    title = models.CharField(max_length=200, null=True, choices=TITLE)
    first_name = models.CharField(max_length=200, null=True)
    middle_name = models.CharField(max_length=200, blank=True,default='')
    last_name = models.CharField(max_length=200, null=True)
    phone = models.CharField(max_length=200, null=True)
    country = CountryField()
    birth_year = models.CharField(max_length=4, null=True)
    gender = models.CharField(max_length=200, null=True, choices=GENDER)
    email = models.CharField(max_length=200, null=True)
    password = models.CharField(max_length=200, null=True)
    status = models.CharField(max_length=200, null=True,choices=STATUS)
    date_created = models.DateTimeField(auto_now=True, null=True)
    profile_pic = models.ImageField(null=True, blank=True, default='images/default.png')
    role = models.CharField(max_length=200, null=True, choices=ROLE)



    def __str__(self):
        return self.first_name


下面是我的表格


class CustomerProfileForm(ModelForm):
    class Meta:
        model = Customer
        fields = ['id', 'title','first_name','middle_name','last_name','phone','country','birth_year','gender','email','password']

视图如下

def NewCustomerProfile(request):

    forms = CustomerProfileForm(request.POST)
    if request.method == 'GET':
        forms = CustomerProfileForm(request.POST)
        if forms.is_valid():
            forms.save()
            return redirect('/')

下面显示了表单模板之前的模板

    <a class="btn btn-primary" name = 'new_customer' href="{% url 'new_customer_profile' %}" role="button">NEW</a>

下面显示了表单将包含的模板


<div class="row">
    <div class="col-md-6">
        <div class="card card-body">

            <form action="" method="POST">


                <form action="" method="GET">

                    {% csrf_token %}
                  {{formie|crispy }}

                    <hr>


                <input type="submit" name="Update">
            </form>
        </form>
        </div>
    </div>
</div>

目前我的模板显示为空白。

如何根据需要创建表单?

如果我能找到解决方案,我们将不胜感激。

谢谢

【问题讨论】:

    标签: python html django django-forms


    【解决方案1】:
    views.py 
    
    def NewCustomerProfile(request):
        form = CustomerProfileForm()
        if request.method == 'POST':
            form = CustomerProfileForm(request.POST or None)
            if form.is_valid():
                form.save()
                return redirect('/')
        return render(request, 'your_html_temp.html', {'form': form})
    
    
    
    your template can be like this :- 
    
    {% load crispy_forms_tags %}
    
    <div class="row">
        <div class="col-md-6">
            <div class="card card-body">
                <form action="" method="POST">
                    {% csrf_token %}
                    {{form|crispy }}
                    <hr>
                    <input type="submit" name="Update">
                </form>
            </div>
        </div>
    </div>
    

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 1970-01-01
      • 1970-01-01
      • 2015-03-09
      • 2012-03-08
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多