Drf-项目初始化时常用配置
2018-06-27 本文已影响21人
dyq666
1. url配置
-
ViewSet的路由配置
- 在项目级目录下创建
router.py
。 - 创建一个Router实例。
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
-
urls.py
配置
配置admin
,media
,drf-doc
(参数title
来为网站命名),drf-BrowserAPI
的登录功能,ViewSet
的路由配置。
from django.conf import settings
from django.conf.urls import url, include
from django.views.static import serve
from django.contrib import admin
from rest_framework.documentation import include_docs_urls
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^media/(?P<path>.*)$', serve, {"document_root": settings.MEDIA_ROOT}),
url(r'^drf-docs/', include_docs_urls(title='')),
url(r'^drf-auth/', include('rest_framework.urls')),
url(r'^', include(router.urls))
]
2. settings配置
-
mysql配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '',
'USER': '',
'PASSWORD': '',
'HOST': '127.0.0.1',
'OPTIONS': {
'init_command': 'SET storage_engine=INNODB;'
}
}
}
-
media配置
- 在根目录下创建
media
文件夹。
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
-
语言与时区配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
-
跨域配置
-
CORS_ORIGIN_ALLOW_AL = True
是全开放。 - 需要中间件支持。
# CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
'localhost:8080',
)
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware',
...
]
-
项目目录配置
- 在项目目录下创建
apps
和utils
文件夹。 - 将创建的文件夹加入环境。
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'utils'))
-
应用配置
配置drf
,跨域`,过滤。
INSTALLED_APPS = [
...
'rest_framework',
'corsheaders',
'django_filters'
]
3. 用户配置
-
AbstractUser
中username
和password
是require
的,username
是unique
的。
from django.contrib.auth.models import AbstractUser
class UserProfile(AbstractUser):
pass
settings.py
AUTH_USER_MODEL = 'user.UserProfile'