时间:2021-07-01 10:21:17 帮助过:19人阅读
以上url匹配地址http://127.0.0.1/addbook/
,当用户访问该地址时,返回一个页面给用户。
在views.py文件中添加方法,返回页面bookadd.html。
## 返回给用户页面bookadd.html
def addbook(request):
return render(request, ‘bookadd.html‘)
在templates目录下新建bookadd.html文件,添加HTML代码。
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>增加图书</title>
<script src="../js/jquery-2.1.3.min.js"></script>
<style>
* {
margin: 0;
padding: 0;
</style>
</head>
<body>
<h2>增加图书</h2>
<h3>GET方式</h3>
<form action="/addbooktodatabase/" method="get" name="addbook">
<p><span>书名:</span><input type="text" placeholder="书名" name="book_name"></p>
<p><span>作者:</span><input type="text" placeholder="作者" name="author"></p>
<p><span>作者年龄:</span><input type="text" placeholder="作者年龄" name="author_age"></p>
<input type="reset"> <input type="submit" value="增加">
</form>
<h3>POST方式</h3>
<form action="/addbooktodatabase/" method="post" name="addbook">
{% csrf_token %}
<p><span>书名:</span><input type="text" placeholder="书名" name="book_name"></p>
<p><span>作者:</span><input type="text" placeholder="作者" name="author"></p>
<p><span>作者年龄:</span><input type="text" placeholder="作者年龄" name="author_age"></p>
<input type="reset"> <input type="submit" value="增加">
</form>
</body>
</html>
显示效果如下:
使用JavaScript或JQuery实现判断,这个实现方法很多,不再赘述。
在urls.py文件中添加url路由
urlpatterns = [
# 以上还有很多url路由,这里仅列出需要的路由
## 处理表单提交的数据,实现前台与数据库交互
url(r‘^addbooktodatabase/‘, polls_views.addbooktodatabase),
]
在views.py中增加更新数据库方法
# 向图书馆增加数据GET或POST方法方法
def addbooktodatabase(request):
# 获取参数book_name,author,author_age
if request.method == "GET":
book_name = request.GET["book_name"]
author_name = request.GET["author"]
author_age = request.GET["author_age"]
else:
book_name = request.POST["book_name"]
author_name = request.POST["author"]
author_age = request.POST["author_age"]
## 先增加作者信息
from polls.models import Person
person = Person()
person.name = author_name
person.age = author_age
person.save()
## 增加图书信息
from polls.models import Book
bookadded = Book(name=book_name)
# 保存修改
bookadded.person_id = person.id
bookadded.save()
# 重定向到添加成功页面
from django.http import HttpResponseRedirect
return HttpResponseRedirect(‘/addok/‘)
在urls.py文件中添加url路由
urlpatterns = [
# 以上还有很多url路由,这里仅列出需要的路由
# 添加成功后返回添加成功页面addok
url(r‘^addok/‘, polls_views.addok),
]
在templates目录下新建addok.html文件,添加HTML代码。
HTML代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加成功</title>
<style>
* {
margin: 0;
padding: 0;
}
a{
text-decoration:none;
}
</style>
</head>
<body>
<div>
<p>添加图书成功</p>
<p><a href="/addbook/">继续添加</a></p>
<p><a href="/booklist/">查看图书列表</a></p>
</div>
</body>
</html>
显示效果如下:
bookList.html在另一篇博文中已实现,请参考:利用Django中的url方法实现地址动态拼接自动生成超链接地址
显示效果如下:
可以看到,图书“水浒传已经添加成功”。
四、总结 |
注意:
Django使用表单操作数据库
标签:描述 str sso ace djang 指定 方法 pad href