1、前期准备
- 打开anaconda的命令行,在windows激活环境命令
venv\Scripts\activate
关闭则输入deactivate
- 安装Django web框架
pip install Django
- 通过命令行创建一个项目
django-admin startproject blog
manage.py:Django程序执行的入口
init.py:一个空文件,告诉Python这个目录应该被认为是一个Python包
settings.py:Django总的配置文件,可以配置App、数据库、中间件等
- 进入到blog目录,执行项目
manage.py是Django程序执行的入口
python manage.py runserver
这时候就连接上了服务器。
2、创建应用
Django自带工具,可以生成相应的基础目录结构
- 创建一个应用article,在项目中,通常使用应用来完成不同模块的任务。一个项目中可以包含多个应用,在Django中,每一个应用都是一个python包。
python manager.py startapp article
admin.py:配置Django管理后台的文件
model.py:创建数据库数据模型对象的文件
- 创建完article后,它不会立即生效,需要在blogs/settings.py中激活应用,代码如下:
3、数据模型格式
- 在应用中添加数据模型,主要是在articles/ models.py文件中,创建相应的类
from django.db import models # 引入django.db.models模块
class User(models.Model):
"""
User模型类,数据模型应该继承于models.Model或其子类
"""
id = models.IntegerField(primary_key=True) # 主键
username = models.CharField(max_length=30) # 用户名,字符串类型
email = models.CharField(max_length=30) # 邮箱,字符串类型
class Article(models.Model):
"""
Article模型类,数据模型应该继承于models.Model或其子类
"""
id = models.IntegerField(primary_key=True) # 主键,IntegerField 整数值字段
title = models.CharField(max_length=120) # 标题,字符串类型
content = models.TextField() # 内容,文本类型
publish_date = models.DateTimeField() # 出版时间,日期时间类型
user = models.ForeignKey(User, on_delete=models.CASCADE) # 设置外键
其中包含相应的字段类型。
- 执行数据库迁移,将默认使用的SQLite数据库改为更为流行的MySQL数据库。
DATABASES = {
"default": {
"ENGINE": "django.db.backends.mysql",
"NAME":'mrsoft',#修改为你的数据库名称
"USER":'ROOT',#修改为你的数据库用户名
'PASSWORD':'ROOT'#修改为你的数据库密码
}
}
- 在终端连接你的数据库
mysql -u root -p
- 按照提示输入用户名和密码,连接成功后创建数据库
create database mrsoft default character set utf8;
- 安装MySQL数据库的驱动PyMySQL,命令如下:
pip install pymysql
- 然后在__init__.py文件行首添加如下代码:
import pymysql
pymysql.version_info = (1,3,13,"final",0)
pymysql.install_as_MySQLdb()
- 然后执行命令创建数据表:
python manage.py makemigrations#生成迁移文件
生成迁移文件即成功。
中间可能遇到这样的问题:RuntimeError: ‘cryptography’ package is required for sha256_password or caching_sha2_password auth methods
pip3 install cryptography -i https://pypi.tuna.tsinghua.edu.cn/simple#清华大学源
安装即可解决。