广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Django搜索页功能的实现

    来源:网络收集  点击:  时间:2024-06-11
    【导读】:
    Django网站搜索页功能的实现,搜索框可以使用form表单来实现,提交到指定的地址,再在视图中加以处理方法/步骤1/9分步阅读

    打开命令行窗口新建Django工程,并在工程下创建一个应用,命令如下:

    django-admin startproject djsearch

    cd djsearch

    python manage.py startapp book

    2/9

    使用开发工具打开上王救一步注侵栗创建的工程,修改工程的settings.py注册应用,并添加模板文件目录,修改部分的代码如下:

    INSTALLED_APPS =

    TEMPLATES = , APP_DIRS: True, OPTIONS: { context_processors: , }, },]

    3/9

    在应用的models.py创建模型类,代码如下:

    from django.db import models# Create your models here.class BookModel(models.Model): name = models.CharField(max_length=50) content = models.TextField(max_length=800)在应用的admin.py注册模型类,代码如下:

    from django.contrib import adminfrom .models import BookModel# Register your models here.admin.site.register(BookModel)

    4/9

    在terminal使用命令生成数据库迁移文件,迁移数据库,创建超级用户

    python manage.py makemigrations

    python manage.py migrate

    python manage.py createsuperuser

    5/9

    登录admin页面,添加若干书籍

    6/9

    在工程的urls.py文件,include应用的urls.py

    from django.contrib import adminfrom django.urls import path,includeurlpatterns =

    在应用的urls.py文件,添加到视图的路径

    from django.urls import pathfrom . import viewsurlpatterns =

    7/9

    在应用的views.py文件,添加search函数

    from django.shortcuts import renderfrom .models import BookModelfrom django.db.models import Q# Create your views here.def search(request): sc = request.GET.get(search,None) context = None if sc: print(sc) booklist = BookModel.objects.filter(Q(name__icontains=sc)) context = {booklist:booklist} return render(request,booksearch.html,context)

    8/9

    在工程根目录创建templates文件夹,并在文件夹创建bootlist.html文件,代码如下;

    !DOCTYPE htmlhtml lang=enhead meta charset=UTF-8 titlebook/title/headbody form action=/book/search/ input type=text name=search placeholder=搜索书籍... required input type=submit value=提交 /form {% if booklist %} {% for book in booklist %} li{{ book.name }}/li {% endfor %} {% endif %}/body/html

    9/9

    运行服务器,打开搜索页面,输入python,提交后,页面如下图,搜索成功

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_897892.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 09:04:11  耗时:0.027
    0.0271s