项目的目录结构:
-HeartFailure
|-- apps
|--user
|--HeartFailure
|-- static
|--manage.py
1、命令行中创建django项目
- #1、切换到指定的虚拟环境中
- workon my_drf
-
- #2、该虚拟环境已经安装好django和rest_framework了
- django-admin startproject HeartFailure
2、在项目中创建apps包,所有的应用都放到这里
3、切换到apps目录下,创建user应用
python ../manage.py startapp user
4、注册user应用
a.由于user应用是放到了apps包中了,需要进行修改:apps/user/apps.py,其中的name='apps.user'
b.注册应用
- INSTALLED_APPS = [
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- 'apps.user.apps.UserConfig',#用户管理
- ]
settings.py
- INSTALLED_APPS = [
- # 'django.contrib.admin', #1、后台管理注销
- # 'django.contrib.auth', #2、django认证注销
- # 'django.contrib.contenttypes',#3、注销
- # 'django.contrib.sessions',#4、session会话功能注销
- # 'django.contrib.messages',#5、注销
-
- 'django.contrib.staticfiles', #静态资源,后续静态资源可以由nginx代理
- 'rest_framework',#使用Response时,会需要某些静态资源
- 'apps.user.apps.UserConfig',#用户app
- ]
-
-
-
-
- MIDDLEWARE = [
- 'django.middleware.security.SecurityMiddleware',
- # 'django.contrib.sessions.middleware.SessionMiddleware', #1、session中间件注销
- 'django.middleware.common.CommonMiddleware',
- # 'django.middleware.csrf.CsrfViewMiddleware', #2、csrf校验注销
- # 'django.contrib.auth.middleware.AuthenticationMiddleware',#3、认证中间件注销
- # 'django.contrib.messages.middleware.MessageMiddleware', #4、注销
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
- ]
-
-
-
- TEMPLATES = [
- {
- 'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': [os.path.join(BASE_DIR, 'templates')]
- ,
- 'APP_DIRS': True,
- 'OPTIONS': {
- 'context_processors': [
- 'django.template.context_processors.debug',
- 'django.template.context_processors.request',
- # 'django.contrib.auth.context_processors.auth', #1、注销掉
- # 'django.contrib.messages.context_processors.messages', #2、注销掉
- ],
- },
- },
- ]
-
- STATIC_URL = '/static/'
- #设置静态路由搜索的的目录,开发阶段可以使用,上线阶段用nginx来代理即可
- STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]
-
-
- #drf的配置,全局配置
- REST_FRAMEWORK = {
- #在认证时,对于没有登录的用户会给request.user赋值匿名用户,这里设置赋值成None,【纯净版必须设置】
- 'UNAUTHENTICATED_USER':None,
- }
- #心衰系统的本地开发
- server {
- listen 8008;
- server_name 127.0.0.1;
-
- #前端
- location / {
- root C:/APPS/html;
- index index.html;
- }
-
- #后端
- location /api/ {
- proxy_pass http://127.0.0.1:8005/;
-
- #配置nginx支持websocket
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
-
- #websocket三个超时时间,有默认值
- proxy_read_timeout 600s;
- proxy_connect_timeout 30s;
- proxy_send_timeout 60s;
- }
-
- #nginx代理静态资源
- location /api/static {
- alias C:\data\project\HeartFailure\static;
- }
-
-
- }
总结:纯净版的drf项目,抛弃了django的后台管理,django的认证机制,会话机制等等。相对来说,系统允许速度会快一些。