添加/修改表单
添加按钮
<div class="pull-left"><a href="{% url 'price_policy_add' %}" class="btn-success btn" style="margin-bottom: 10px"><i
class="fa fa-plus-square-o"></i> 添加</a></div>
modelForm
from .bootstrapForm import BootstrapForm
from django import forms
from django.core.exceptions import ValidationError
class PricePolicyForm(BootstrapForm, forms.ModelForm):
class Meta:
model = PricePolicy
fields = '__all__'
def clean_count(self):
count = self.cleaned_data.get('count')
if count < 0:
raise ValidationError('必须大于0')
return count
def clean_price(self):
price = self.cleaned_data.get('price')
if price < 0:
raise ValidationError('必须大于0')
return price
前端表单
<form method="post" novalidate>
{% csrf_token %}
{% for foo in form %}
<div class="form-group">
<label for="{{ foo.id_for_label }}">{{ foo.label }} <span style="color: #1b6d85">{{ foo.help_text }}</span>
</label>
{{ foo }}
<span class="error_msg" style="color: red">{{ foo.errors.0 }}</span>
{% endfor %}
</div>
<button type="submit" class="btn btn-default">保存</button>
</form>
后端添加逻辑
def user_add(request):
if request.method == 'GET':
form = UserForm()
return render(request, 'form2.html', {'form': form})
if request.method == 'POST':
form = UserForm(request.POST)
if not form.is_valid():
return render(request, 'form2.html', {'form': form})
form.instance.isAdmin = 0
form.instance.creator = request.user_info.uid
form.save()
return redirect('user_list')
前端编辑按钮
{% for one in queryset %}
<tr user-id="{{ one.id }}">
<td>{{ one.id }}</td>
<td>{{ one.count }}</td>
<td>{{ one.price }}</td>
<td>
<a href="{% url 'price_policy_edit' pk=one.id %}" class="btn btn-warning btn-sm">编辑</a>
</td>
</tr>
{% endfor %}
后端编辑逻辑
def price_policy_edit(request, pk):
price_policy = models.PricePolicy.objects.filter(id=pk).first()
if request.method == 'GET':
form = PricePolicyForm(instance=price_policy)
return render(request, 'form1.html', {'form': form})
if request.method == 'POST':
form = PricePolicyForm(data=request.POST, instance=price_policy)
if not form.is_valid():
return render(request, 'form1.html', {'form': form})
form.save()
return redirect('price_policy_list')
本文作者:Sherwin
本文链接:https://www.cnblogs.com/sherwin1995/p/16690844.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步