美文网首页
三、 Django 配置结构与数据库

三、 Django 配置结构与数据库

作者: daley_磊 | 来源:发表于2019-02-13 16:30 被阅读0次

    Django 配置文件settings.py 详解

    # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
    import os
    BASE_DIR = os.path.dirname(os.path.dirname(__file__))
    

    python中 __file__ 这个变量可以获取到当前文件(包含这个代码的文件)的路径。os.path.dirname(__file__) 得到文件所在目录,再加上一层os.path.dirname()就是目录的上一级,BASE_DIR 即为 项目 所在目录。之后与目录有关的变量会用它,这样使得移植性更强。

    DEBUG = True
    

    DEBUG=True 时,如果出现 bug 便于我们看见问题所在,但是部署时最好不要让用户看见bug的详情,可能一些不怀好心的人攻击网站,造成不必要的麻烦.

    ALLOWED_HOSTS = ['www.xxx.com','192.168.1.11'] #可以设置 ip 和 域名
    

    ALLOWED_HOSTS 允许你设置哪些域名可以访问,即使在 Apache 或 Nginx 等中绑定了,这里不允许的话,也是不能访问的。当 DEBUG=False 时,这个为必填项,如果不想输入,可以用 ALLOW_HOSTS = ['*'] 来允许所有的。

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'test_django' ,   # 新应用在后面追加
    ]
    

    注册应用,INSTALLED_APPS注册应用是为了和models.py里的模型/数据库交互使用的,不注册的话正常访问的是view,只要不和models.py有关联,都可以正常访问没有影响,但是为了之后交互不出错,最好写新应用时直接注册好。

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')]
     #       'DIRS': [os.path.join(BASE_DIR, 'templates2')] 修改 模版存放位置
        },
    ]
    

    模版文件存放地址

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

    数据库配置

    LANGUAGE_CODE = 'en-us'
    
    TIME_ZONE = 'UTC'
    

    admin 后台支持的语言,其中 zh-Hans是简体中文 zh-Hant是繁体中文,所以更改

    LANGUAGE_CODE = 'zh-Hans'
    TIME_ZONE = 'Asia/Shanghai'
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = False
    

    \color{Orange}{注意:Django默认使用 SQLite 数据库}

    Django 数据库默认 配置(在 project 包下 settings.py 文件中)

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

    mysql 数据库配置

    1. 安装 python 3.x 支持 pyMySql
    pip install pymysql 
    
    1. 在 project 包下 __init__.py 文件中写入代码
    import pymysql
    pymysql.install_as_MySQLdb()
    
    1. 在 project 包下 settings.py 文件中,通过 DATABASES 选项进行数据库配置
    • mysql 数据库配置:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',   #数据库引擎
            'NAME': 'db_name',      # 数据库 名称
            'USER':'root'           # 数据库用户
            'PASSWORD':'root'       # 数据库密码
            'HOST':'localhost'      #  数据库IP
            'PORT':'3306'           # 数据库端口
        }
    }
    

    postgresql 数据库配置

    1. 安装 psycopg2 实现对PostgreSQL数据库的操作
    pip install  psycopg2
    
    1. 在 project 包下 settings.py 文件中,通过 DATABASES 选项进行数据库配置
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'db_name',  # 数据库名字(需要先创建)
            'USER': 'postgres',  # 登录用户名
            'PASSWORD': '123456',  # 密码
            'HOST': '',  # 数据库IP地址,留空默认为localhost
            'PORT': '5432',  # 端口
        }
    }
    

    相关文章

      网友评论

          本文标题:三、 Django 配置结构与数据库

          本文链接:https://www.haomeiwen.com/subject/njighqtx.html