Django 项目创建的基本流程

前言

初学Django 框架,解决了项目配置上的问题,以后才能更加顺利地去完成项目的搭建。

创建项目仓库

目的

在gitee/github创建项目,可以clone到本地,方便进行版本管理

操作过程

  1. 登录gitee/github创建项目
  2. clone项目到本地
  3. 在仓库文件中创建项目
  4. 上传push到远程仓库

注意点: 项目打开后会产生.idea文件,用于存放pycharm的相关设置,不需要上传到仓库进行管理。可以通过在.ignore文件中添加 #.idea 信息

pycharm中配置仓库

配置目录:setting - Version Control
在这里插入图片描述
将文件加入到暂存区: 右击文件 - Git - add
在这里插入图片描述

上传到仓库: VCS - commint (暂存区,填写相关版本信息)- git - push
在这里插入图片描述

开发环境配置

目的

配置项目的两套运行环境:生产环境,开发环境

流程

  1. 创建settings包,包里创建dev.py和prod.py文件(复制setting.py信息进去)
  2. 修改启动加载文件配置(manager.py)
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mdproject.setting.dev(或者prod)")

配置模板引擎

目的

Django框架模板默认使用的是Django模板,使用其他模板如(jinja2)需要进行模板配置

流程

  1. 创建templates文件夹
  2. 配置相关的模板语法(…/dev.py)
    2.1 jinja2模板官方配置https://yiyibooks.cn/xx/Django_1.11.6/topics/templates.html
    2.1.1 配置TEMPLATES
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.jinja2.Jinja2', # 加载jinja2引擎
        'DIRS': [os.path.join(BASE_DIR,'templates')], #模板存储位置
				...
  	    'OPTIONS': {
            'environment':'meiduo_mall.utils.my_jinja2.environment', #设置全局的环境变量方法
             ...
            ],
        },
    },
]

2.1.2 配置环境变量
工程目录下创建utils文件夹,- my_jinja2.py

from __future__ import absolute_import  # Python 2 only

from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse

from jinja2 import Environment


def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': staticfiles_storage.url, # static方法
        'url': reverse, #url方法
    })
    return env

配置数据库

配置MySQL

官方文档:https://yiyibooks.cn/xx/Django_1.11.6/ref/settings.html#std:setting-DATABASES

  1. 配置DATABASES(…/dev.py)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名',
        'USER': '用户名',
        'PASSWORD': '密码',
        'HOST': 'id',
        'PORT': '3306',
    }
}
  1. 创建数据库
  2. 配置mysql驱动文件,工程文件的(init.py)
import pymysql
pymysql.install_as_MySQLdb()

配置Redis

官方文档:https://django-redis-chs.readthedocs.io/zh_CN/latest/

  1. 配置Redis储存信息(…/dev.py)
# redis配置
CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/1",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    "session": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    }
}
# session状态保持信息存储位置
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "session"

日志文件配置

目的

可以配置日志信息, 记录用户的访问行为, 或者程序运行的行为

流程

官方文档:

  1. 日志配置(…/dev.py)
# 日志
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,  # 是否禁用已经存在的日志器
    'formatters': {  # 日志信息显示的格式
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(lineno)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(module)s %(lineno)d %(message)s'
        },
    },
    'filters': {  # 对日志进行过滤
        'require_debug_true': {  # django在debug模式下才输出日志
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {  # 日志处理方法
        'console': {  # 向终端中输出日志
            'level': 'INFO',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {  # 向文件中输出日志
            'level': 'INFO',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(os.path.dirname(BASE_DIR), 'logs/meiduo.log'),  # 日志文件的位置
            'maxBytes': 300 * 1024 * 1024,
            'backupCount': 10,
            'formatter': 'verbose'
        },
    },
    'loggers': {  # 日志器
        'django': {  # 定义了一个名为django的日志器
            'handlers': ['console', 'file'],  # 可以同时向终端与文件中输出日志
            'propagate': True,  # 是否继续传递日志信息
            'level': 'INFO',  # 日志器接收的最低日志级别
        },
    }
}
  1. 在工程目录下创建logs文件夹

配置静态文件

官方文档:https://yiyibooks.cn/xx/Django_1.11.6/ref/settings.html#std:setting-STATICFILES_DIRS
2. 配置静态文件 static的存储位置(…/dev.py)

# 配置静态文件资源存储位置的(绝对路径)
STATICFILES_DIRS = [
     os.path.join(BASE_DIR,'static')
]
  1. 工程目录下导入静态文件

创建子应用

  1. 工程目录下创建apps包(负责管理所有的子应用)
  2. 进入apps包中创建子应用
python ../../ manager.py startapp 名称
  1. 注册子应用(…/dev.py)

设置导包路径

当使用apps中的子应用,可以省去前缀

  1. 设置路径(dev.py)
import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

设置导包路径时后导包,pycharm出现爆红相关问题
转载:

https://blog.csdn.net/GentleCP/article/details/87395869

项目文件的结构!

在这里插入图片描述

发布了1 篇原创文章 · 获赞 2 · 访问量 22

猜你喜欢

转载自blog.csdn.net/weixin_44567493/article/details/103933471