学习中…
1.搜素功能
使用Q查询
base.html
<form class="layui-form" role="search" method="get" id="searchform" action="/page/search">
{% csrf_token %}
<input type="search" name="q" placeholder="请输入图书名或出版社" required style="height: 40px;width: 260px">
<input class="layui-btn" value="搜索" type="submit" style="margin-left: 8px">
</form>
{% block main %}
{% endblock %}
search1.html和search.html类似
search1.html
{% extends 'home/base.html' %}
{% block main %}
{% if error_msg %}
<p>{{ error_msg }}</p>
{% endif %}
<div id="container">
</div>
{% for post in post_list %}
<div class="wp"style="padding-top: 20px;">
<div class=" list0">
<img style="height:200px;" src="/media/{{ post.cover }}" alt="通用的占位符缩略图"></div>
<div class="list1">
<h3 style="margin-left: 20px;font-size: 17px;margin-bottom: 20px">书名:{{ post.name }}</h3>
</div>
</div>
{% empty %}
<div class="no-post" style="padding-top: 70px;margin-left:-350px;text-align: center">暂时还没有发布的文章!</div>
{% endfor %}
{% endblock main %}
view.py
使用request.GET.get[‘q’]获取到用户提交的搜索关键词。用户通过表单 get 方法提交的数据 Django 为我们保存在request.GET 里,这是一个类似于 Python 字典的对象,所以我们使用get方法从字典里取出q 对应的值,即用户的搜索关键词。
def search(request):
usr = request.session.get('user', None)
userid = request.session.get('userid', None)
#分页
rs = book.objects.all()
p = Paginator(rs, 15)
book_list = request.GET.get('book_list')
try:
book_list = p.page(book_list)
except:
book_list = p.page(1)
#获取用户输入
q = request.GET.get('q')
error_msg = ''
print(q)
if not q:
error_msg = '请输入关键词'
return render(request, 'home/search.html', {'error_msg': error_msg, 'book_list': book_list, 'userid': userid})
post_list = book.objects.filter(Q(name__icontains=q) | Q(publish__icontains=q))
return render(request, 'home/search1.html', {'error_msg': error_msg, 'post_list': post_list, 'userid': userid})
url
url(r'^search/$', views.search, name='search'),
2.修改密码
https://blog.csdn.net/weixin_41827390/article/details/80684079
view.py
def changePwd(request):
usr = request.session.get('user', None)
uer = user.objects.get(name=usr)
return render(request, 'page/user/changePwd.html',locals())
# 更新数据
@csrf_exempt
def update_user(request):
id = request.POST.get('id')
passwordd = request.POST.get('password')
obj = user.objects.filter(id=id).update(password=passwordd)
result = -1
if obj:
result = 0
return JsonResponse({"result": result})
3.优化页面