python中的Django框架(1)(简介+后台管理)

目录

1.Django的介绍

2.Django的安装

3.Django快速入门:后台管理

1)项目的创建与运行

2)应用的创建和使用

3)  项目的数据库模型


1.Django的介绍

1) Django 框架介绍


Django 是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。
由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而
无需重新创建轮子。
免费的和开源的。
被官方称之为完美主义者的Web框架。
官方网址:https://www.djangoproject.com/

 

2)Django框架特点

 

2.Django的安装

pip3 install django==3 -i https://pypi.douban.com/simple

 

3.Django快速入门:后台管理

1)项目的创建与运行

创建完成后目录分支如下:

 

 

2)应用的创建和使用

(1) 创建第一个应用程序

Django 自带一个实用程序,可以自动生成应用程序的基本目录结构,因此你可以专注于编写代码而不
是创建目录。在一个项目中可以创建一到多个应用,每个应用进行一种业务处理

编写第一个视图函数打开文件 bookApp/views.py 并放入以下Python代码:
python3 manage.py startapp bookApp

 

 

(2) 编写第一个视图函数

 

(3) 路由规则
bookApp 目录中 创建一个名为 urls.py 。如下所示:
 
 

 

根据配置文件 BookManage/settings 可知路由查找的主文件是 BookManage/urls.py , 因此在该文件添加一条 url 规则:
 
 

(4)效果展示

启动服务器    python3 manage.py runserver

 

3)项目的数据库模型

(1) 数据库的创建

第一种方法:通过sqlite实现:

python manage.py makemigrations    生成迁移文件
python3 manage.py migrate          迁移数据

然后将sqlite3 添加到Django中

将网址中的语言设置为中文:

单击db.sqlite3 可以查看数据库信息 默认的Django已经将数据库的一些设置好了

通过网页的方式显示数据库  在命令行输入 python3 manage.py  createsuperuser   创建用户

然后通过 python3 manage.py runserver  启动服务器

此时可通过访问http://127.0.0.1:8000/admin/登录创建的用户

 

第二种方法:通过mysql实现

在BookManage/settings.py 文件中,通过DATABASES项进行数据库设置:注释之前的sqlite数据库;

# 注释之前的sqlite数据库;
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }
# 添加新的Mysql数据库连接;
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'BookManage',
'USER': 'root',
'PASSWORD': 'westos',
'HOST': 'localhost',
'PORT': '3306',
}
}
1.环境搭建

python3  manage.py migrate  数据库迁移   还会有有提示 要安装mysqlclient

python manage.py createsuperuser

python manage.py runserver

然后网页登录即可

 

(2) 创建数据库模型

编辑bookapp/models.py

from django.contrib import admin
from django.db import models


# Create your models here.
# 一个Book类对应一个数据库表
# 一个类属性对应一个数据库表的列属性
class Book(models.Model):
    # # 默认情况下,会自动添加id这一列作为主键。
    # title是字符串类型的, 并且最大的长度为20;
    title = models.CharField(max_length=20)
    pub_date = models.DateField()

    # 字符串的友好展示, 在交互式环境测试的时候生效
    def __repr__(self):
        return '<Book: %s>' % (self.title)

    # 字符串友好展示,在后台管理的时候生效
    def __str__(self):
        return self.title

    # 自定义对应的表名,默认表名:bookApp_book
    class Meta:
        db_table = "books"
        # 后台管理显示(单数)
        verbose_name = "图书管理"
        # 后台管理显示(复数)
        verbose_name_plural = "图书管理"


class Hero(models.Model):
    # 默认情况下,会自动添加id这一列作为主键。
    name = models.CharField(max_length=20)
    gender = models.BooleanField(default=True)
    content = models.CharField(max_length=200)
    # 一对多关系, 外键写在多的一端(Book:Hero=1:n)
    # models.CASCADE叫级联删除,当书籍被删除后,关联的任务也会被删除
    book = models.ForeignKey('Book', on_delete=models.CASCADE)

    def __repr__(self):
        return "<Hero %s>" % (self.name)

    def __str__(self):
        return self.name

    def sex(self):
        if self.gender:
            return "男"
        else:
            return '女'

    # 自定义对应的表名,默认表名:bookApp_book
    class Meta:
        db_table = "heros"
        # 后台管理显示(单数)
        verbose_name = "人物管理"
        # 后台管理显示(复数)
        verbose_name_plural = "人物管理"


from django.db import models

(3)生成数据库表

编辑BookManage/settings.py

# BookManage/settings.py
# Application definition
INSTALLED_APPS = [
# .......此处省略
'django.contrib.staticfiles',
# 新添加的app
'bookApp',
]

生成迁移文件:根据模型类生成sql 语句       python manage.py makemigrations

执行迁移:执行sql 语句生成数据表   python manage.py migrate

数据库中查看数据库表是否创建成功?   show database   


 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值