栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Django案例:显示图书信息

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django案例:显示图书信息

这里写自定义目录标题
  • Django案例:显示图书信息
  • 一)创建Django项目 - books
  • (二)创建并注册应用 - index
    • 1、创建index应用
    • 2、注册index应用
  • (三)创建数据库 - books
  • (四)配置
  • 数据迁移
  • 创建模型
    • 1、创建图书模型
    • 2、创建用户模型
  • 数据迁移
  • 图书表与用户表添加记录
    • 1、给图书表添加记录
  • 2、给用户表添加记录
  • 创建模板
    • 1、创建登录页面 - login.html
  • 设置路由
    • 1、创建子路由
    • 2、设置主路由
  • 创建视图函数
    • 1、跳转到登录页面
    • 2、创建显示图书的视图
    • 3、创建处理登录请求的视图
    • 4、解决子路由中视图函数的导入问题
  • 测试效果

Django案例:显示图书信息

。

一)创建Django项目 - books


导入os模块

(二)创建并注册应用 - index 1、创建index应用

执行python manage.py startapp index


运行books文件


访问http://127.0.0.1:8000

2、注册index应用

(三)创建数据库 - books


(四)配置

配置数据库

init.py文件里设置
import pymysql

pymysql.install_as_MySQLdb

数据迁移

输入python manage.py makemigrations


如此问题

解决办法

输入python manage.py migrate


数据迁移成功

创建模型 1、创建图书模型

在models中输入代码
from django.db import models
class Book(models.Model):
id = models.AutoField(primary_key=True)
number = models.CharField(‘总编号’,max_length=10)
category = models.CharField(‘分类号’,max_length=10)
name = models.CharField(‘书名’, max_length=50)
author = models.CharField(‘作者’, max_length=10)
press = models.CharField(‘出版单位’, max_length=50)
price = models.DecimalField(‘单价’, decimal_places=2,max_digits=6)
def str(self):
return str(self.name)

2、创建用户模型

在后面继续添加User

数据迁移

输入python manage.py makemigrations


输入python manage.py migrate index 0001_initial


迁移成功

图书表与用户表添加记录 1、给图书表添加记录

INSERT INTO index_book VALUES (1, ‘445501’, ‘TP3/12’, ‘数据库导论’, ‘王文丹’, ‘科学出版社’, 17.90);
INSERT INTO index_book VALUES (2, ‘445502’, ‘TP3/12’, ‘数据库导论’, ‘王文丹’, ‘科学出版社’, 17.90);
INSERT INTO index_book VALUES (3, ‘445503’, ‘TP3/12’, ‘数据库导论’, ‘王文丹’, ‘科学出版社’, 17.90);
INSERT INTO index_book VALUES (4, ‘445505’, ‘TW2/12’, ‘电工基础’, ‘楚留香’, ‘机械工业出版社’, 32.00);
INSERT INTO index_book VALUES (5, ‘332211’, ‘TP5/10’, ‘计算机基础’, ‘李伟’, ‘高等教育出版社’, 18.00);
INSERT INTO index_book VALUES (6, ‘112266’, ‘TP3/12’, ‘安卓开发实践’, ‘张慧明’, ‘电子工业出版社’, 55.00);
INSERT INTO index_book VALUES (7, ‘225544’, ‘TP7/21’, ‘高等数学’, ‘李小刚’, ‘高等教育出版社’, 25.00);
INSERT INTO index_book VALUES (8, ‘225533’, ‘TP7/12’, ‘线性代数入门’, ‘秦厚荣’, ‘北京大学出版社’, 25.00);
INSERT INTO index_book VALUES (9, ‘113388’, ‘TR7/90’, ‘大学英语’, ‘杨琼’, ‘北京外国语大学出版社’, 30.00);
INSERT INTO index_book VALUES (10, ‘446601’, ‘TR4/13’, ‘Java程序设计’, ‘张凯文’, ‘工信集团出版社’, 40.00);
INSERT INTO index_book VALUES (11, ‘446602’, ‘TR4/13’, ‘Java程序设计’, ‘张凯文’, ‘工信集团出版社’, 40.00);
INSERT INTO index_book VALUES (12, ‘446603’, ‘TR4/13’, ‘Java程序设计’, ‘张凯文’, ‘工信集团出版社’, 40.00);
INSERT INTO index_book VALUES (13, ‘449901’, ‘TR4/15’, ‘Spring Boot实践’, ‘秦文举’, ‘清华大学出版社’, 50.00);
INSERT INTO index_book VALUES (14, ‘449902’, ‘TR4/15’, ‘Spring Boot实践’, ‘秦文举’, ‘清华大学出版社’, 50.00);
INSERT INTO index_book VALUES (15, ‘118801’, ‘TR4/25’, ‘计算机网络’, ‘唐玉玲’, ‘高等教育出版社’, 32.00);
INSERT INTO index_book VALUES (16, ‘118802’, ‘TR4/25’, ‘计算机网络’, ‘唐玉玲’, ‘高等教育出版社’, 32.00);

添加成功

2、给用户表添加记录

INSERT INTO index_user VALUES (1, ‘admin’, ‘123456’, ‘2021-05-05 11:14:29’);
INSERT INTO index_user VALUES (2, ‘李晓红’, ‘111111’, ‘2021-05-21 11:14:58’);
INSERT INTO index_user VALUES (3, ‘唐玉刚’, ‘222222’, ‘2021-05-10 11:15:42’);


添加成功

创建模板 1、创建登录页面 - login.html

用户登录 {% csrf_token %}
    


账号
密码>
![在这里插入图片描述](https://img-blog.csdnimg.cn/80248a9ae31e49d7b1217d96acad3350.png) ## 2、创建图书显示页面 - books.html ![在这里插入图片描述](https://img-blog.csdnimg.cn/7ed7eb922f24495f8637f9012d4404cf.png) 显示图书信息 显示图书信息 {% for book in books %}
序号总编号分类号书名作者出版单位单价

设置路由 1、创建子路由

在index目录里创建子路由urls.py

输入
from django.urls import path

urlpatterns =[
path(‘login’,loginView,name=‘login’),
path(‘do_login’,doLoginView,name=‘do_login’),
path(‘books’,booksView,name=‘books’),
]

2、设置主路由

添加一个路由:path(‘’, include((‘index.urls’, ‘index’), namespace=‘index’))

创建视图函数 1、跳转到登录页面

在index的views.py里输入:

from django.shortcuts import render
def loginView(request):
return render(request,‘login.html’)

2、创建显示图书的视图

3、创建处理登录请求的视图

def doLoginView(request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
password = request.POST.get(‘password’)
users = User.objects.raw(‘select * from index_user where username =%s and password = %s’,params=[username,password])
if len(users) > 0:
return redirect(‘…/books’)
else:
login_msg = [‘用户名或者密码错误’]
return render(request,‘login.html’,{‘data’:json.dumps(login_msg)})

4、解决子路由中视图函数的导入问题

测试效果

运行

进入http://127.0.0.1:8000/login

输入错误的用户名或密码
弹出对话框

单机确定按钮回到登录界面

输入正确账号和密码
进入页面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/958392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号