- 一、创建Django项目
- 1、创建项目--------Library
- 2、创建并注册应用index
- 二、数据库配置
- 1、配置数据库信息
- 2、进行数据迁移
- 二、完成基本配置
- 1、路由配置
- 2、创建图书模型和用户信息类——Books——User
- 3、创建视图函数
- 4、做数据迁移,生成图书和用户表
- 四、创建html页面
- 1、在index应用下创建一个templates目录,再在templates目录下创建一个index目录,用来存放html文件
- 2、编辑登录页面——login.html
- 3、编辑图书显示及删除页面——books.html
- 4、编辑页面——dit.html
- 5、编辑数据库
- 五、启动项目
在配置文件settings.py里配置数据库信息
2、进行数据迁移(1)创建数据库-----Lirbrary
(2)设置数据库连接模块
迁移之前先导入os模块
import os
(3)执行数据迁移命令
在控制台依次执行两条数据迁移命令,生成数据表
python manage.py makemigrations
python manage.py migrate
打开数据库,查看新生成的数据表
(1)主路由配置
配置主路由 - Library里的urls.py
(2)分路由配置
在index的models.py里创建图书模型和用户信息模型类
from django.db import models
# 创建图书模型
class Books(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)
# 用户信息类
class User(models.Model):
id = models.AutoField('编号', primary_key=True)
username = models.CharField('用户名', max_length=20)
password = models.CharField('密码', max_length=50)
last_Login_Time = models.DateTimeField('上次登录时间')
def __str__(self):
return str(self.username)
3、创建视图函数
在index的views.py里创建
from django import db
from django.http import HttpResponse
from django.shortcuts import render, redirect
from itsdangerous import json
from index.models import User, Books
# 创建登录视图函数
def loginView(request):
return render(request, 'login.html')
# 创建处理登录请求的视图函数
def do_loginView(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:
books = Books.objects.all()
return render(request, 'books.html', locals())
else:
login_msg = ['用户名或密码错误']
return render(request, 'login.html', dict(data=json.dumps(login_msg)))
# 创建显示图书视图函数
def booksView(request):
books = Books.objects.all()
return render(request, 'books.html', locals())
# 删除图书视图函数
def del_publisher(request):
id = request.GET.get('id')
Books.objects.filter(id=id).delete()
books = Books.objects.all()
return render(request, '../books.html', locals())
# 编辑图书视图
def ditbooks(request):
id = request.GET.get('id')
obj_list = Books.objects.filter(id=id)
if not obj_list:
return HttpResponse('要编辑的数据不存在')
obj = obj_list[0]
if request.method == 'POST':
books_id = request.POST.get('books_id')
books_number = request.POST.get('books_number')
books_category = request.POST.get('books_category')
books_name = request.POST.get('books_name')
books_author = request.POST.get('books_author')
books_press = request.POST.get('books_press')
books_price = request.POST.get('books_price')
obj.id = books_id
obj.number = books_number
obj.category = books_category
obj.name = books_name
obj.author = books_author
obj.press = books_press
obj.price = books_price
obj.save()
books = Books.objects.all()
return render(request, '../books.html', locals())
return render(request, '../dit.html', {'obj': obj})
在主路由文件里导入上述视图函数
在控制台依次执行两条命令
python manage.py makemigrations
python manage.py migrate
打开数据库,查看新生成的数据表
页面需求:
登录页面——login.html
图书显示及删除页面——books.html
编辑页面——dit.html
1、在index应用下创建一个templates目录,再在templates目录下创建一个index目录,用来存放html文件 2、编辑登录页面——login.html
用户登录
用户登录
3、编辑图书显示及删除页面——books.html
图书管理系统
图书信息
| 编号 | 总编号 | 分类号 | 书名 | 作者 | 出版单位 | 单价 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ book.id }} | {{ book.number }} | {{ book.category }} | {{ book.name }} | {{ book.author }} | {{ book.press }} | {{ book.price }} | 删除 编辑 |
编辑
5、编辑数据库
数据库中插入几条新数据
新数据生成
运行http://127.0.0.1:8000
登录界面



