django項目--環(huán)境搭建

django環(huán)境搭建已經(jīng)在django中已經(jīng)詳細的說明過了,這里不在贅述幽告,本節(jié)僅僅對django的數(shù)據(jù)庫設置腌且,緩存設置殖属,以及l(fā)og設置加以說明软啼。
本項目所有代碼均在碼云:https://gitee.com/maniuu/First

在django環(huán)境搭建中數(shù)據(jù)庫在setting文件中的設置非常重要桑谍,具體設置如下:
方法一:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',               # 數(shù)據(jù)庫引擎
        'NAME': 'name',                                     # 數(shù)據(jù)庫名
        'USER': 'dj_user',                                  # 用戶名
        'PASSWORD': 'password',                   # 密碼
        'HOST': '127.0.0.1',                                # 主機IP
        'PORT': 3306                                        # 端口
    }
}

方法二:將數(shù)據(jù)庫配置信息存到一個文件,在settings文件中將其引入祸挪。(推薦)
新建數(shù)據(jù)庫配置文件db.cnf(名字隨意)
db.cnf文件:

[client]
database = name
user = dj_user
password = password
host = 127.0.0.1
port = 3306
default-character-set = utf8

在settings.py文件中引入db.cnf

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS':{
            'read_default_file': 'utils/db/db.cnf'
        }
    }
}

配置redis緩存

# 在虛擬機中安裝django-redis
pip install django-redis    
# settings.py文件中指定redis配置

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://127.0.0.1:6379/0",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
        }
    },
    'session': {
        'BACKEND': 'django_redis.cache.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379/1',
        'OPTIONS': {
            'CLIENT_CLASS': 'django_redis.client.DefaultClient',
        }
    },
}

# session存儲緩存設置
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
SESSION_CACHE_ALIAS = 'session'

配置日志器
用于記錄系統(tǒng)運行過程中的各種日志信息锣披。
在項目根目錄中創(chuàng)建一個logs文件夾,用于存放日志文件

# 日志
LOGGING = {
    # 版本
    'version': 1,
    # 是否禁用已存在的日志器
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '{levelname} {asctime} {module} {lineno:d} {message}',
            'style': '{',
        },
        'simple': {
            'format': '{levelname} {module} {lineno:d} {message}',
            'style': '{',
        },
    },
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        },
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
            'formatter': 'simple'
        },
        'file': {
            'level': 'INFO',
            # 這個handler可以記錄一組日志文件
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(BASE_DIR, 'logs/tz_django.log'),
            # 單個日志文件最大字節(jié)數(shù)
            'maxBytes': 300*1024*1024,
            # 日志文件個數(shù)
            'backupCount': 10,
            'formatter': 'verbose'
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console', 'file'],
            'level': 'INFO',  # 日志器接收的最低級別
            'propagate': True,
        },
    },
}

使用方法

# 使用方法
# import the logging library
import logging

# Get an instance of a logger
# 此處的django為,settings.py文件中雹仿,LOGGING配置下的loggers中定義的日志器名稱
logger = logging.getLogger('django')    

def my_view(request, arg1, arg):
    ...
    if ***:
        # Log an error message
        logger.error('Something went wrong!')

創(chuàng)建應用:
在項目根目錄下創(chuàng)建一個apps目錄用于存放各子應用榜跌。
然后cd到apps目錄創(chuàng)建各子應用

~$ cd ~/code/apps/
~/code/tztz/apps$ workon tzproject
(project) ~/code/apps$ python ../manage.py startapp news
(project) ~/code/apps$ python ../manage.py startapp course
(project) ~/code/apps$ python ../manage.py startapp doc
(project) ~/code/apps$ python ../manage.py startapp user

再到settings文件中,加入如下設置

import sys

# 創(chuàng)建應用之后盅粪,把apps目錄加入到sys.path中
sys.path.insert(0, BASE_DIR)
sys.path.insert(1, os.path.join(BASE_DIR, 'apps'))

接著分別在apps文件夾和項目根目錄文件夾上右鍵,加入到Source Root中悄蕾,優(yōu)化導入路徑(pycharm提示)票顾。

項目文件右鍵菜單==>make directory as==>sources root

最后將應用添加到INSTALLED_APPS列表中

INSTALLED_APPS = [
    # ...
    'user',
    'news',
    'doc',
    'course'
]

以上的這些設置基本都是固定的,沒有什么變化可言帆调,亦可在官網(wǎng)查詢得到奠骄。
最后完成配置,可以繼續(xù)開發(fā)或推送到碼云進行版本保存番刊。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末含鳞,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芹务,更是在濱河造成了極大的恐慌蝉绷,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枣抱,死亡現(xiàn)場離奇詭異熔吗,居然都是意外死亡,警方通過查閱死者的電腦和手機佳晶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門桅狠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人轿秧,你說我怎么就攤上這事中跌。” “怎么了菇篡?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵漩符,是天一觀的道長。 經(jīng)常有香客問我驱还,道長陨仅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任铝侵,我火速辦了婚禮灼伤,結果婚禮上,老公的妹妹穿的比我還像新娘咪鲜。我一直安慰自己狐赡,他們只是感情好,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布疟丙。 她就那樣靜靜地躺著颖侄,像睡著了一般鸟雏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上览祖,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天孝鹊,我揣著相機與錄音,去河邊找鬼展蒂。 笑死又活,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的锰悼。 我是一名探鬼主播柳骄,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼箕般!你這毒婦竟也來了耐薯?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丝里,失蹤者是張志新(化名)和其女友劉穎曲初,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體杯聚,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡复斥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了械媒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片目锭。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖纷捞,靈堂內(nèi)的尸體忽然破棺而出痢虹,到底是詐尸還是另有隱情,我是刑警寧澤主儡,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布奖唯,位于F島的核電站,受9級特大地震影響糜值,放射性物質發(fā)生泄漏丰捷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一寂汇、第九天 我趴在偏房一處隱蔽的房頂上張望病往。 院中可真熱鬧,春花似錦骄瓣、人聲如沸停巷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽畔勤。三九已至蕾各,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間庆揪,已是汗流浹背式曲。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缸榛,地道東北人吝羞。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像仔掸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子医清,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容