首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在同一模板中创建、更新和删除表单?

如何在同一模板中创建、更新和删除表单?
EN

Stack Overflow用户
提问于 2020-05-11 00:31:46
回答 1查看 436关注 0票数 0

我打算在相同的模板上更新、创建和删除,如下所示。

我目前在我的模型上有以下内容

代码语言:javascript
运行
复制
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)

我的表单如下

代码语言:javascript
运行
复制
class CustomerProfileForm(forms.ModelForm):
    class Meta:
        model = Customer
        fields = [ 'title','first_name','middle_name','last_name','phone','country','birth_year','gender']

目前,我显示了更新每个客户的视图,如下所示。

代码语言:javascript
运行
复制
@login_required(login_url='login')
def CustomerProfile(request, pk):

    customer = Customer.objects.get(id=pk)
    formie = CustomerProfileForm(instance=customer)

    if request.method == 'POST':
        formie = CustomerProfileForm(request.POST, instance=customer)
        if formie.is_valid():
            formie.save()
            return redirect('/')


    context = {'formie':formie}
    return render(request, 'accounts/customer_profile.html', context)

在另一个模板中,我有一个客户列表,每个客户都有一个指向每个客户更新的编辑按钮,如上所示。

但有单独的按钮称为“新”,我需要定向到相同的模板作为更新客户,但创建客户。

这有可能发生吗?

EN

Stack Overflow用户

发布于 2020-05-11 00:49:25

您可以在模板中的表单中为编辑新建按钮使用不同的名称,如下所示:

代码语言:javascript
运行
复制
<form action="/" method="post">
    <input type="submit" name="new_customer" value="New" />
    <input type="submit" name="edit_customer" value="Edit" />
</form>

代码语言:javascript
运行
复制
if request.method == 'POST':
    if 'edit_customer' in request.POST:
        formie = CustomerProfileForm(request.POST, instance=customer)
        if formie.is_valid():
            formie.save()
            return redirect('/')
    elif 'new_customer' in request.POST:
        #  create new customer here

    # your other codes ...
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61715290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档