创建Django环境
Anaconda创建虚拟环境(可选)
Anaconda下载安装详见 https://blog.youkuaiyun.com/weixin_46065314/article/details/109571907
为了更好的管理python包,我们创建一个新的环境
-
进入Anconda Prompt
-
创建环境(中途有选择都选y):
conda create -n DRF python=3.7
(如果之前更改过conda源创建时可能会报错,解决方法:恢复默认源再创建)
conda config --remove-key channels
conda create -n DRF python=3.7
- 进入创建的环境:
conda activate DRF
安装依赖包
安装Restframework
pip install djangorestframework==3.11 -i https://pypi.douban.com/simple/
PyCharm创建Django工程
Flie–>New Project
在Anaconda安装路径下的envs找到新创建号的DRF中的python.exe
OK即可成功添加
Create创建
测试创建的工程
控制台输入以下指令启动django
manage.py runserver 127.0.0.1:8000
浏览器访问 http://127.0.0.1:8000 (或点击蓝字)出现小火箭,项目创建成功
新建app
在控制台输入(‘newapp’为app名)
manage.py startapp newapp
在settings.py
中注册新app才会生效
Django配置
数据库配置
找到项目下的settings.py
,找到DATABASE关键字,修改为如下配置以将默认sqlite本地数据库改为我们的MySQL数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': 'root', # 密码
'HOST': 'localhost', # 数据库Host
'PORT': '3306', # 端口号
}
}
注意:要提前在数据库中新建一个空的对应名字数据库,对应sql如:
CREATE SCHEMA `test`;
在__init__.py
中加入
import pymysql
pymysql.version_info = (1, 4, 13, "final", 0) # 指定版本避免报错
pymysql.install_as_MySQLdb()
安装pymysql
pip install pymysql -i https://pypi.douban.com/simple/
模型相关
建立模型
在新建的app中的models,py
中创建模型,例如:
from django.db import models
# Create your models here.
class Users(models.Model):
user_name = models.CharField(max_length=20)
user_password = models.CharField(max_length=100)
user_token = models.CharField(max_length=100)
create_date = models.DateField()
模型迁移(在数据库中创建对应关系)
控制台中输入,生成迁移文件
manage.py makemigrations
然后执行迁移
manage.py migrate
可以发现生成了迁移文件,数据库中也有了相应的数据表。
Django内置管理模块配置
1. 管理界面语言配置——修改为中文(可选)
在settings.py
中配置:
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
2. 创建管理员
在控制台输入指令
manage.py createsuperuser
依次按照提示输入用户名,邮箱(随便填),密码,确认密码即可创建管理员
3. 管理模块显示配置
在admin.py中配置
from django.contrib import admin
# Register your models here.
from users.models import Users
# 自定义需要显示的列
class UsersDisplay(admin.ModelAdmin):
list_display = ['user_name', 'user_password', 'user_token', 'create_date']
# 将模型与定义的显示类注册到admin
admin.site.register(Users, UsersDisplay)
在浏览器中可以通过127.0.0.1/admin访问到管理界面,对数据库进行可视化操作