💖 作者:大家好,我是Clyde
🎉 支持我:点赞👍收藏⭐️留言📝
😇 GitHub主页:Tengxu666 Python是一门很神奇的语言, 还在学习
💻 DRF开源教程:drf_pro 更全面的Django Rest Framework 教程
欢迎star 🌟
项目初始化我们都需要做一些什么东西?接下来我们来看一下。
Django 是一个出色的基于 Python 的开源 Web 开发框架,你可以使用它来创建全栈 Web 应用程序
由于它是一个框架,因此最初可以预期项目中有许多文件。对于初学者来说,一开始可能会让人不知所措,
但没有什么可担心的;随着时间的推移,一切都会变得简单。
由于 Django 已经存在一段时间了,你需要了解 Django 工作目录结构的最佳实践,以便在这方面取得更成功的项目区域。
drf_pro\
apps\ => 存放项目所需app
app1\
app2\
core\ => 存放项目所需核心模块文件
drf_pro\
logs\ => 存放项目日志
static\ => 存放项目静态文件
manage.py
requirements.txt
首先你需在你的 settings.py: INSTALLED_APPS
中加入以下两个drf必须的app
rest_framework 是为了把drf框架引入到你的项目
rest_framework.authtoken 会在你第一次迁移数据库的时候生成用户Token表
INSTALLED_APPS = [
'rest_framework',
'rest_framework.authtoken'
]
接下来把下面的我们应该设置 REST_FRAMEWORK
drf的配置全部在单个 Django 设置中命名空间,名为REST_FRAMEWORK.
例如,您的项目settings.py文件可能包含如下内容:
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renderers.JSONRenderer',
],
'DEFAULT_PARSER_CLASSES': [
'rest_framework.parsers.JSONParser',
]
}
如果你不知道你的REST_FRAMEWORK中都是设置的什么内容那么你最好将其设置为{},以防发生意想不到的错误⚠️
API参考,本处列举一些比较常用的API,具体请参考官方文档
DEFAULT_RENDERER_CLASSES
Response渲染器类的列表或元组,用于确定返回对象时可能使用的默认渲染器集。
默认:
[
'rest_framework.renderers.JSONRenderer',
'rest_framework.renderers.BrowsableAPIRenderer',
]
DEFAULT_PARSER_CLASSES
解析器类的列表或元组,用于确定访问request.data属性时使用的默认解析器集。
默认:
[
'rest_framework.parsers.JSONParser',
'rest_framework.parsers.FormParser',
'rest_framework.parsers.MultiPartParser'
]
DEFAULT_AUTHENTICATION_CLASSES
身份验证类的列表或元组,用于确定访问request.user或request.auth属性时使用的默认身份验证器集。
默认:
[
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication'
]
DEFAULT_PERMISSION_CLASSES
权限类的列表或元组,确定在视图开始时检查的默认权限集。列表中的每个类都必须授予权限。
默认:
[
'rest_framework.permissions.AllowAny',
]
数据库的设置Django默认数据库为sqlite 你可以把他换成你的mysql数据库,只需要简单的配置 settings.py: DATABASES 即可
# Database
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DRF_TEST1',
'USER': 'root',
'PASSWORD': '12345678',
'HOST': '127.0.0.1',
'PORT': '3306'
}
}
当然这是最简单最普遍的做法
当然您也可以使用dj-database-url
正如我的drf_pro一样,使用url的方式来连接数据库
DATABASES = {
'default': config(
'DATABASE_URL',
cast=db_url
)
}
DATABASE_URL请查看.env文件(github drf_pro项目文件)
配置完DATABASE之后,你需要在你的项目初始文件夹的__init__.py中添加以下内容,以确保连接数据库
DRF_Professional/init.py
import pymysql
pymysql.install_as_MySQLdb()
🎉 支持我:点赞👍收藏⭐️留言📝
📣 系列专栏:DjangoRestFramework🍁