Django学习七

学习中…
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.优化页面
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值