rest framework api我爱编程

Drf-项目初始化时常用配置

2018-06-27  本文已影响21人  dyq666

1. url配置

  1. 在项目级目录下创建router.py
  2. 创建一个Router实例。
from rest_framework.routers import DefaultRouter

router = DefaultRouter()

配置adminmediadrf-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配置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'OPTIONS': {
            'init_command': 'SET storage_engine=INNODB;'
        }
    }
}
  1. 在根目录下创建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
  1. CORS_ORIGIN_ALLOW_AL = True是全开放。
  2. 需要中间件支持。
# CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
    'localhost:8080',
)
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'corsheaders.middleware.CorsMiddleware',
    ...
]
  1. 在项目目录下创建appsutils文件夹。
  2. 将创建的文件夹加入环境。
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. 用户配置

  1. AbstractUserusernamepasswordrequire的,usernameunique的。
from django.contrib.auth.models import AbstractUser

class UserProfile(AbstractUser):
    pass

settings.py

AUTH_USER_MODEL = 'user.UserProfile'
上一篇 下一篇

猜你喜欢

热点阅读