drf_simple_pro

Posted yijue-lu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了drf_simple_pro相关的知识,希望对你有一定的参考价值。

 

准备

1.创建虚拟环境

mkvirtualenv drf_simple_pro

扩展

技术图片
创建虚拟环境:               mkvirtualenv 虚拟环境名称
创建虚拟环境(指定python版本): mkvirtualenv -p python3 虚拟环境名称
查看所有虚拟环境:            workon+2次tab键
使用虚拟环境:               workon 虚拟环境名称
退出虚拟环境:               deactivate
删除虚拟环境(必须先退出虚拟环境内部才能删除当前虚拟环境):
                               rmvirtualenv 虚拟环境名称
    
其他相关命令:
查看虚拟环境中安装的包:              pip freeze  或者 pip list
收集当前环境中安装的包及其版本:       pip freeze > requirements.txt
在部署项目的服务器中安装项目使用的模块: pip install -r requirements.txt
View Code

2.pip安装部件

以下安装如果发现速度过慢,可以在后面加上-i https://mirrors.aliyun.com/pypi/simple/
pip install django
pip install djangorestframework

3.创建项目

先进入存放项目的文件夹

django-admin startproject drf_simple_pro

使用 tree drf_simple_pro/ 查看项目目录

drf_simple_pro/
├── drf_simple_pro
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

4.使用pycharm

1.打开

2.选择之前创建的虚拟环境

3.启动

成功效果:

技术图片

 

5.调整目录

复制settings.py里的内容,删除此文件并创建settings文件夹,在里面建立dev.py和prop.py文件,将复制的内容粘贴到dev.py文件里,用作开发使用,上线时再配置使用prop.py

drf_simple_pro/
├── docs/          # 项目相关资料保存目录
├── logs/          # 项目运行时/开发时日志目录
├── manage.py
├── luffy/         # 项目主应用,开发时的代码保存
│   ├── apps/      # 开发者的代码保存目录,以模块[子应用]为目录保存
│   ├── libs/      # 第三方类库的保存目录[第三方组件、模块]
│   ├── settings/
│       ├── dev.py   # 项目开发时的本地配置
│       ├── prop.py  # 项目上线时的运行配置
│   ├── urls.py    # 总路由
│   ├── utils/     # 多个模块[子应用]的公共函数类库[自己开发的组件]
└── scripts/       # 保存项目运营时的脚本文件

 

由于更改了配置文件的位置及名称,所以要更改启动文件manage.py

技术图片

6.数据库相关

1.创建数据库

create database drf_simple_pro default charset=utf8mb4;

2.为当前项目创建数据库用户[这个用户只能看到这个数据库]

create user drf_simple_pro identified by 123; #创建用户

grant all privileges on drf_simple_pro.* to drf_simple_pro@%; # 为用户分配权限

flush privileges; #

3.配置数据库连接,修改settings/dev.py

技术图片

 

4.安装

pip install Pymysql

5.在项目主模块的__init__.py中导入pymysql

 技术图片

 

6.启动项目,解决两个问题

第一个,数据库版本检测导致的错误

技术图片

 

解决方案:注释掉数据库的版本检测代码

技术图片

 

 第二个,数据库版本的默认编码导致,query返回的内容格式使用有误

解决方案:新增一行代码,把query查询结果转换格式为 bytes类型

技术图片

 

 

 

 

登录功能

 1.创建用户模块的子应用

先进入apps文件夹

python ../../manage.py startapp users

在settings.py文件中注册子应用

INSTALLED_APPS = [
        ...
      users,
]

2.创建自定义的用户模型类

在创建好的应用models.py中定义用户的用户模型类

from django.contrib.auth.models import AbstractUser
from django.db import models

# Create your models here.

class User(AbstractUser):
    """自定义用户模型类"""
    
    mobile = models.CharField(max_length=11, unique=True, verbose_name="手机号")
    
    class Meta:
        db_table = "cus_users"
        verbose_name = "用户"
        verbose_name_plural = verbose_name

在配置文件dev.py中进行设置

# 告知django认证系统使用自定义模型类
AUTH_USER_MODEL = users.User

 

以上是关于drf_simple_pro的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数