无名有名分组反向解析实现数据增删改查——django作业
后端部分
模型层models.py
class Publish(models.Model):
publish_name = models.CharField(max_length=40)
publish_addr = models.CharField(max_length=100)
路由层urls.py
# 主路由
url(r'^app01/', include('app01.urls')),
# 子路由
url(r'^publish/', views.publish),
url(r'^addPublish/', views.create_publish),
url(r'^editPublish/(\d+)', views.edit_publish, name='edit'),
url(r'^delPublish/(?P<pid>\d+)', views.del_publish, name='del')
视图函数views.py
from app01 import models
def publish(request):
publish_queryset = models.Publish.objects.filter().all()
return render(request, 'publish.html', locals())
def create_publish(request):
if request.method == 'POST':
publish_name = request.POST.get('publish_name')
publish_addr = request.POST.get('publish_addr')
publish_obj = models.Publish.objects.filter(publish_name=publish_name).first()
if publish_obj:
return render(request, 'create_publish.html', {'error': '出版社已存在'})
models.Publish.objects.create(publish_name=publish_name, publish_addr=publish_addr)
return redirect('/app01/publish')
return render(request, 'create_publish.html')
def edit_publish(request, pid):
publish_obj = models.Publish.objects.filter(id=pid).first()
if request.method == 'POST':
publish_name = request.POST.get('publish_name')
publish_addr = request.POST.get('publish_addr')
models.Publish.objects.filter(id=pid).update(publish_name=publish_name, publish_addr=publish_addr)
return redirect('/app01/publish')
return render(request, 'edit_publish.html', locals())
def del_publish(request, pid):
models.Publish.objects.filter(id=pid).delete()
return redirect('/app01/publish')
前端部分
publish.html
<p class="text-right"><a href="/app01/addPublish/" class="btn btn-success">新增</a></p>
<table class="table table-striped mt-3">
<thead>
<tr>
<th>编号</th>
<th>出版社</th>
<th>地址</th>
<th class="text-center">操作</th>
</tr>
</thead>
<tbody>
{% for publish_obj in publish_queryset %}
<tr>
<td>{{ publish_obj.id }}</td>
<td>{{ publish_obj.publish_name }}</td>
<td>{{ publish_obj.publish_addr }}</td>
<td class="text-center">
<a href="{% url 'edit' publish_obj.id %}" class="btn btn-info btn-sm">编辑</a>
<a href="{% url 'del' publish_obj.id %}" class="btn btn-danger btn-sm">删除</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
edit_publish.html
<div class="contain">
<div class="row">
<div class="col-md-8 offset-2">
<h1 class="text-center">修改出版社信息</h1>
<form action="" class="" method="post">
<p><input id="publish" type="text" class="form-control" name="publish_name"
placeholder="出版社名" value="{{ publish_obj.publish_name }}"></p>
<p><input id="addr" type="text" class="form-control" name="publish_addr"
placeholder="出版社地址" value="{{ publish_obj.publish_addr }}"></p>
<p><input id="edit" type="submit" class="btn btn-success form-control" value="修改"></p>
</form>
</div>
</div>
</div>
<script>
$('#edit').click(function () {
if (!($('#publish').val() && $('#addr').val())) {
alert('请完善信息');
return false
}
})
</script>
create_publish.html
<div class="contain">
<div class="row">
<div class="col-md-8 offset-2 mt-5">
<h1 class="text-center">创建出版社</h1>
{% if error %}
<div class="alert alert-danger" role="alert">
{{ error }}
</div>
{% endif %}
<form action="" class="" method="post">
<p><input id="publish" type="text" class="form-control" name="publish_name" placeholder="出版社名"></p>
<p><input id="addr" type="text" class="form-control" name="publish_addr" placeholder="出版社地址"></p>
<p><input id="create" type="submit" class="btn btn-success form-control" value="提交"></p>
</form>
</div>
</div>
</div>
<script>
$('#create').click(function () {
if (!($('#publish').val() && $('#addr').val())) {
alert('请完善信息');
return false
}
})
</script>

浙公网安备 33010602011771号