前言
本文 上接 Django - 与 Mysql 结合的 基本配置操作 并实现查询功能
添加数据
(1)实现view
store/views.py
获取name 与 address的值,添加到数据库,返回 AddSuccess字样
# 添加一条store信息
def add_store_info(request):
name = request.POST['name']
address = request.POST['address']
create = StoreInfo.objects.create(name=name, address=address)
print(type(create), create)
return HttpResponse("Add Success")
(2)实现 表单
store/templates/store_list.html
注意: 表单中需要添加 {% csrf_token %}
<h1>Add</h1>
<form action="add" method="post">
{% csrf_token %}
<label>商店名称: </label>
<input name="name" type="text">
<label>商店地址 : </label>
<input name="address" type="text">
<input value="提交" type="submit">
</form>
(3)配置URLS
store/urls.py
代码如下:
urlpatterns = [
url(r'^list$', views.select_store_list),
url(r'^add$', views.add_store_info), #添加对应的信息
]
结果 :
views中 打印的创建返回值结果如下:
<class 'store.models.StoreInfo'> 拉面南京东路 #返回的值 是创建的对象
删除一条信息
(1)实现view
store/views.py
描述:通过pk主键(id)查询后,进行删除操作,并打印删除后返回值,返回Delete Success
字样
# 删除一条store信息
def delete_store_info(request, pk):
storeInfo = StoreInfo.objects.get(pk=pk)
delete = storeInfo.delete()
print(type(delete), delete)
return HttpResponse("Delete Success")
(2)配置Url
store/urls.py
代码如下:
urlpatterns = [
url(r'^list$', views.select_store_list),
url(r'^add$', views.add_store_info),
url(r'^delete/(?P<pk>[0-9]+)$', views.delete_store_info), #删除操作的url,后面是正则pk的写法
]
(3) 模板实现如下
store/templates/store_list.html
实现如下
<table border="1">
<thead>
<tr>
<th>名称</th>
<th>地址</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{% for foo in content %}
<tr>
<td>{{ foo.name }}</td>
<td>{{ foo.address }}</td>
<td><a href="delete/{{ foo.id }}">删除</a></td> #在这里添加链接删除
</tr>
{% endfor %}
</tbody>
</table>
执行后结果预览:
打印的返回值如下 :
<class 'tuple'> (1, {'store.StoreInfo': 1}) #影响数据的行数
总结
这里需要注意的是 表单提交的时候 需要添加 {% csrf_token %}
,才可以通过。 更新操作就不写了,后面将进行深入的学习。