Ghostant

在使用pycharm创建项目后和app后。需要对项目进行配置。

1.数据库配置

settings.py
-----------
DATABASES = {
    \'default\': {
        \'ENGINE\': \'django.db.backends.mysql\',
        \'NAME\': \'dbtest\',
        \'USERNAME\': \'root\',
        \'PASSWORD\': \'\',
        \'CHARSET\': \'UTF8\'
    }
}
__init__.py
-----------
import pymysql
pymysql.install_as_MySQLdb()

2.静态文件路径配置

settings.py
-------------
STATIC_URL = \'/static/\'

# 在根目录下创建static文件夹
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, \'static\')
]

需要注意的是: STATIC_URL代表的是一个url标识,与真正的静态文件路径无关

比如:当我们要请求 https://127.0.0.1:8000/static/a.txt。django会认为是对静态文件的请求,

会遍历 STATICFILES_DIRS下的路径,去查找这些路径下的a.txt的文件。一旦找到便返回,不会继续遍历。

如果改为 STATIC_URL = \'/xxx/\', https://127.0.0.1:8000/static/a.txt,则找不到文件。

总结:STATICFILES_DIRS下才是真正的静态文件目录,django会将/static/后的字符串与DIRS 一一拼接,直到找到响应的文件。

3.中间件

django给我们提供了许多强大的中间件,其中crsf在最初练习时可注释掉。

settings.py
----------------
MIDDLEWARE = [
    \'django.middleware.security.SecurityMiddleware\',
    \'django.contrib.sessions.middleware.SessionMiddleware\',
    \'django.middleware.common.CommonMiddleware\',
    # \'django.middleware.csrf.CsrfViewMiddleware\',
    \'django.contrib.auth.middleware.AuthenticationMiddleware\',
    \'django.contrib.messages.middleware.MessageMiddleware\',
    \'django.middleware.clickjacking.XFrameOptionsMiddleware\',
]

4.app注册

新创建的app需要在settings.py中进行配置

settings.py
---------------------
INSTALLED_APPS = [
    \'django.contrib.admin\',
    \'django.contrib.auth\',
    \'django.contrib.contenttypes\',
    \'django.contrib.sessions\',
    \'django.contrib.messages\',
    \'django.contrib.staticfiles\',
    \'app01.apps.App01Config\',  # 新创建的app
	# \'app01\', # 可简写
]

5.模版文件配置

settings.py
--------------------
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\',
                \'django.contrib.messages.context_processors.messages\',
            ],
        },
    },
]

分类:

技术点:

相关文章: