加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 安装Django
    • 创建工程
    • 配置数据库
    • 定义模型
    • 启动服务
    • 登陆查看
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Django基本流程

09/30 10:20
677
阅读需 12 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

流程总览

在这里插入图片描述

今天给大家分享一下Django的技术,如上是今天分享的内容,一起相互学习吧!

安装Django

pip install -U django
python -m django --version

如上,安装并更新django,查看版本为3.0.5

创建工程

cd G:360MoveDataUsersAdministratorDesktopDjangoProject
django-admin startproject project
tree  .  /F

在这里插入图片描述

如上图,进入到指定目录,创建工程,并查看工程的目录结构。

配置数据库

查看官方文档

查看官方文档:https://docs.djangoproject.com/en/3.0/ref/databases/#mysql-notes
主要有以下注意点:
1、Django supports MySQL 5.6 and higher.
2、Django requires mysqlclient 1.3.13 or later.
3、mysqlclient is a native driver. It’s the recommended choice.
4、You can create your database using the command-line tools and this SQL:

CREATE DATABASE <dbname> CHARACTER SET utf8;

5、Connecting to the database:

# settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': '/path/to/my.cnf',
        },
    }
}


# my.cnf
[client]
database = NAME
user = USER
password = PASSWORD
default-character-set = utf8

根据官方文档安装mysql

现在,动手实操一下:
先在centos7上安装最高版本的mysql 8(通过下载mysql的repo源的方式):

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum repolist all | grep mysql
vi /etc/yum.repos.d/mysql-community.repo

在这里插入图片描述

查看将要安装的版本:

yum repolist enabled | grep mysql 

在这里插入图片描述安装:

yum install -y mysql-community-server

启动:

systemctl start mysqld

开机自启动:

systemctl enable mysqld
systemctl daemon-reload

查看密码:

cat /var/log/mysqld.log

pwd如下图:nyKcqlrd=6+q

在这里插入图片描述
登陆(输入上面的随机密码):

mysql -uroot -pnyKcqlrd=6+q

在这里插入图片描述
更改密码策略:

set global validate_password.policy=0;
set global validate_password.length=1;

修改mysql的root密码(设置为yeqinfang):

alter user 'root'@'localhost' identified by 'yeqinfang';

更改默认端口的文件:

vi /etc/my.cnf

在这里插入图片描述

重启生效:

systemctl restart mysqld

查看端口:

show global variables like 'port';

在这里插入图片描述
创建数据库

CREATE DATABASE dbtest CHARACTER SET utf8;

关闭防火墙:

systemctl disable firewalld
systemctl stop firewalld.service
systemctl status firewalld

允许root在其他地方访问

use mysql;
update user set Host='%' where User='root';

django配置数据库

在配置文件进行如下配置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 将sqlite3更改
        'NAME': 'dbtest', # 将os.path.join(BASE_DIR, 'db.sqlite3')更改为数据库名
        'USER': 'root',
        'PASSWORD': 'yeqinfang',
        'HOST': '192.168.31.101',
        'PORT': '3306',
    }
}

在这里插入图片描述

创建应用

1、打开cmd,cd到manage.py同级目录下,执行:

python manage.py startapp myAPP

在这里插入图片描述根据提示,继续安装客户端:

pip install -U mysqlclient

再去创建应用,接着运行如下命令:

python manage.py startapp blog

激活应用

在settings.py文件中,将myAPP应用,加入到 INSTALLED_APPS选项中,直接在最后一行添加 myAPP,如下:

在这里插入图片描述

定义模型

一个表对应一个模型,在models.py中添加模型:

class Grades(models.Model):
    gname    = models.CharField(max_length=20)
    gdate    = models.DateTimeField()
    ggirlnum = models.IntegerField()
    gboynum  = models.IntegerField()
    isDelete = models.BooleanField(default=False)

class Students(models.Model):
    sname    = models.CharField(max_length=20)
    sgender  = models.BooleanField(default=True)
    sage     = models.IntegerField()
    scontend = models.CharField(max_length=20)
    isDelete = models.BooleanField(default=False)
    #关联外键
    sgrade   = models.ForeignKey('Grades',on_delete=models.CASCADE)

在数据库中生成数据表

1、生成迁移文件:
在manage.py目录下执行

python manage.py makemigrations

在这里插入图片描述

2、执行迁移

python manage.py migrate

在这里插入图片描述在这里插入图片描述

测试数据库

在manage.py的目录下执行:

python manage.py shell

引入包:

from myAPP.models import Grades,Students
from django.utils import timezone
from datetime import *
Grades.objects.all()

创建一条数据:

grade1 = Grades()
grade1.gname = 'python007'
grade1.gdate = datetime(year=2017,month=7,day=17)
grade1.ggirlnum = 3
grade1.gboynum = 70
grade1.save()

在这里插入图片描述在这里插入图片描述

启动服务

python manage.py runserver 127.0.0.1:8000

在这里插入图片描述

登陆查看

创建管理员用户(root/yeqinfang):

python manage.py createsuperuser

在这里插入图片描述
打开页面(127.0.0.1:8000/admin)如下
在这里插入图片描述

输入账号密码:root/yeqinfang

在这里插入图片描述

如上,我们已经起了服务,并且能够登陆,现在,我们去配置自己的页面:

修改admin.py文件,添加:

from .models import Grades,Students

#注册
admin.site.register(Grades)
admin.site.register(Students)

接着重启服务,刷新页面

在这里插入图片描述

咋们的应用已经添加成功,我们查看我们的数据:

点击上图的Grades:

在这里插入图片描述

点击上图的grades object

在这里插入图片描述

如图,我们已经能够显示原先添加的一些数据。至此,我们的流程已经能够跑通。后面我们再学习MTV模型的编程。

相关推荐

电子产业图谱