zoukankan      html  css  js  c++  java
  • Django settings.py 中设置访问 MySQL 数据库【一种是直接在 settings.py 文件中直接写数据库信息,另一种是读文件获取数据库信息】

    settings.py 

    1. 修改时区: 
       默认为:TIME_ZONE = 'America/Chicago' 
       修改为:TIME_ZONE = 'Asia/Shanghai' 

    2. 默认的url: 
       ROOT_URLCONF = 'mysite.urls' 

    3. 模板位置: 
       TEMPLATE_DIRS = (.....) 
      

    Java代码  收藏代码
    1. import os.path  
    2. TEMPLATE_DIRS = (  
    3.     #'/home/tony/djcode/mysite/templates',  
    4.     os.path.join(os.path.dirname(__file__),'templates').replace('\','/'),  
    5. )  



    4. 数据库配置:(MySQL) 
      

    Java代码  收藏代码
    1. DATABASES = {  
    2.    'default': {  
    3.        'ENGINE': 'mysql',                 
    4.        'NAME': 'projectforge',                       
    5.        'USER': 'root',                           
    6.        'PASSWORD': 'root',                          
    7.        'HOST': 'localhost',                      
    8.        'PORT': '5432'  
    9.     }  
    10. }        

    ============================================================================================

    文章来源:http://club.topsage.com/thread-2261820-1-1.html

    Django访问数据库的设置是在settings.py中写入数据库的engine、用户名和密码,默认的写法是:

    DATABASE_ENGINE = 'mysql' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
    DATABASE_NAME = 'xxx' # Or path to database file if using sqlite3. 
    DATABASE_USER = 'root' # Not used with sqlite3. 
    DATABASE_PASSWORD = 'xxx' # Not used with sqlite3. 
    DATABASE_HOST = 'localhost' # Set to empty string for localhost. Not used with sqlite3. 
    DATABASE_PORT = '3306' # Set to empty string for default. Not used with sqlite3.

    数据库的关键信息都写在settings.py中,这样做是非常不安全的。现在可以在settings.py里面使用DATABASE项代替以上的配置项,username和password可以写在配置文件中。下面是把username和password放到MySQL数据库的配置文件中,由 DATABASE项读取的示例:

    1. DATABASES = {
    2.     'default': {
    3.         'ENGINE': 'django.db.backends.mysql',
    4.         'OPTIONS': {
    5.             'read_default_file': '/etc/mysql/my.cnf',
    6.         },
    7.     }
    8. }
    1. # my.cnf
    2. [client]
    3. database = xxx
    4. user = xxx
    5. password = xxxxxx
    6. default-character-set = utf8

    也可以在DATABASES中加入NAME来指定数据库名,client中去除database选项,HOST和PORT这些也都可以写在my.cnf文件中。

  • 相关阅读:
    Django ---uploads files
    powershell 更改为Oh-my-zsh
    Ubuntu server 安装Mysql
    Ubuntu下安装Python多版本开发环境
    python virtualenv 虚拟开发环境
    csv文件操作
    Could not load file or assembly ADODB, Version=7.0.3300.0
    sqlserver 循环截取字段中的某些字符
    JSON序列化的长度
    为何HttpContext.Current为NULL
  • 原文地址:https://www.cnblogs.com/feifeifeisir/p/12870211.html
Copyright © 2011-2022 走看看