【发布时间】:2020-09-29 02:25:35
【问题描述】:
我目前有一个称为服务的模型,如下所示...
class Services(models.Model):
service_sku = models.AutoField(primary_key=True)
name = models.CharField(max_length=200, null=True)
price = models.FloatField(null=True)
forms.py
class ServiceForm(forms.ModelForm):
class Meta:
model = Services
fields = '__all__'
基于上面显示的代码,我有两个视图,一个会创建上面模型的实例,另一个视图会更新实例,如下
def NewServices(request):
form = ServiceForm()
if request.method == 'POST':
form = ServiceForm(request.POST or None)
if form.is_valid():
form.save()
return redirect('/')
return render(request, 'accounts/new_services.html', {'form': form})
def EditServices(request,pk):
service = Services.objects.get(service_sku=pk)
form = ServiceForm(instance=service)
if request.method == 'POST':
form = ServiceForm(request.POST, instance=service)
if form.is_valid():
form.save()
return redirect('/')
context = {'form':form}
return render(request, 'accounts/edit_services.html',context)
模板如下
<div class="row">
<div class="col-md-7">
<div class="card card-body">
<form action="" method="POST">
{% csrf_token %}
{{form}}
<hr>
<input type="submit" name="Update">
</form>
</div>
</div>
</div>
是否可以在我的模板表单中显示 service_sku 的 readyonly,当需要更新实例时以及在创建实例时在模板中显示 service_sku readonly 时自动生成?
【问题讨论】:
标签: python django-models django-forms django-views django-templates