从前端获取数据发送到后端 存入数据库
前端
{% extends 'home.html' %}
{% block contant %}
<h1 class="center" >添加图书</h1>
{# # method 一定要加上 post 并先在setting里注掉中间件#}
<form action=" " method="post">
<p>图书名称:
<input type="text" name="title" class="form-control">
</p>
<p>价格:
<input type="text" name="price" class="form-control">
</p>
<p>出版时间:
<input type="date" name="publish_date" class="form-control">
</p>
<p>出版社:
<select name="publish" id="" class="form-control">
{% for publish_obj in pubilsh_Queryset %}
<option value="{{ publish_obj.pk }}">{{ publish_obj.name }}</option>
{% endfor %}
</select>
</p>
<p>作者:
<select name="authors" id="" multiple class="form-control">
{# # multiple 是多选#}
{% for author_obj in authors_Queryset %}
<option value="{{ author_obj.pk }}">
{{ author_obj.name }}
</option>
{% endfor %}
</select>
{# # multiple 是多选#}
</p>
<input type="submit" class="btn btn-success btn-block" value="新增">
后端
def book_add(request):
# 获取前端提交过的所有数据
if request.method =='POST':
title =request.POST.get('title')
price =request.POST.get('price')
publish_date =request.POST.get('publish_date')
publish_id =request.POST.get('publish')
authors_list =request.POST.getlist('authors')
# 操作数据库,存储数据
# 书籍表
book_obj = models.Book.objects.create(title=title, price =price,publish_date=publish_date,publish_id=publish_id)
# 书与作者的关系表
book_obj.authors.add(*authors_list) #将列表打散
# 跳转到书籍的层示页面
# redirect 括号内可以直接写URL 其实也可以直接写别名,
# 但是如果你的别名有其他参数的话就要用reverse
return redirect('book_list')
pubilsh_Queryset = models.Publish.objects.all()
authors_Queryset = models.Author.objects.all()
return render(request,'book_add.html',locals())
</form>
{% endblock %}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!