Django从理论到实战(part42)–QueryDict对象

学习笔记,仅供参考,有错必纠

参考自:Django打造大型企业官网–Huang Y;

文章目录QueryDict对象

QueryDict对象

我们平时用的request.GETrequest.POST都是QueryDict对象,这个对象继承自dict,因此,用法跟dict相差无几,其中用得比较多的是get方法和getlist方法。

举个例子

我们定义一个添加图书的模板文件add_book.html:

{% extends "basePage.html" %}

{% block content %}

<h2>添加图书</h2>

<form method="POST" action="">
{% csrf_token %}
<table>
<tr>
<td>图书名:</td>
<td><input type="text" name="book"></td>
</tr>
<tr>
<td>价格:</td>
<td><input type="text" name="price"></td>
</tr>

<tr>
<td>标签:</td>
<td>
<label>
python
<input type="checkbox" name="tags" value="python">
</label>
<label>
Java
<input type="checkbox" name="tags" value="Java">
</label>
<label>
Matlab
<input type="checkbox" name="tags" value="Matlab">
</label>
<label>
R
<input type="checkbox" name="tags" value="R">
</label>
</td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="添加"></td>
</tr>
</table>
</form>

{% endblock %}

主urls.py文件:

from django.contrib import admin
from django.urls import path
from . import views
from django.conf.urls import include

urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name = "index"),
path("redirect/", views.redir, name = "redir"),
path("front/", include("front.urls")),
path("add_book/", views.add_book, name = "add_book"),

]

主views.py文件:

@require_http_methods(['GET', 'POST'])
def add_book(request):
if request.method == "GET":
return render(request, "add_book.html")
else:
book = request.POST.get("book", "None")
price = request.POST.get("price", "0")
tags = request.POST.getlist("tags")

context = {
"book":book,
"price":price,
"tags":tags
}
return render(request, "show_books.html", context = context)

定义显示图书的模板show_books.html:

{% extends "basePage.html" %}

{% block content %}

<h2>显示图书</h2>

<table>
<tr>
<td>图书名:</td>
<td>{{ book }}</td>
</tr>
<tr>
<td>价格:</td>
<td>{{ price }}</td>
</tr>

<tr>
<td>标签:</td>
<td>{{ tags }}</td>
</tr>

</table>
{% endblock %}

向http://127.0.0.1:8000/add_book/发起请求:

Django从理论到实战(part42)--QueryDict对象

点击提交

Django从理论到实战(part42)--QueryDict对象

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

Django从理论到实战(part42)--QueryDict对象

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » Django从理论到实战(part42)–QueryDict对象
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏