1. 新建項(xiàng)目
django-admin.py startproject myblog
2. 查看項(xiàng)目目錄結(jié)構(gòu)
> tree myblog/
myblog/
├── manage.py
└── myblog
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
1 directory, 5 files
說明:
manage.py 是管理網(wǎng)站的腳本胃珍,可以使用它來啟動(dòng)一個(gè)簡單的web服務(wù)器。
myblog 文件夾是網(wǎng)站配置文件夾蜓陌,主要操作的文件有settings.py和urls.py觅彰。
settings.py 是工程的核心配置文件。
urls.py 是路由配置文件钮热,可以配置URL到實(shí)際Controller的映射關(guān)系
3. 修改默認(rèn)配置
- 在
settings.py
開頭插入#-*- coding: utf-8 -*-
填抬,防止中文錯(cuò)誤。
注:所有python文件都要添加#-*- coding: utf-8 -*-
隧期。
3.1 數(shù)據(jù)庫
- 在
settings.py
中找到DATABASES
飒责。
> vim myblog/settings.py
# 這里是 默認(rèn)sqlite的配置
#DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
#}
#修改為pgsql
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'myblog', # 數(shù)據(jù)庫名
'USER': 'django', # 用戶名
'PASSWORD': '123', # 密碼
'HOST': '127.0.0.1', # 地址
'PORT': '5432', # 端口
}
}
3.2 設(shè)置pgsql
>psql -U postgres
postgres=# CREATE USER django WITH PASSWORD '123';
postgres=# CREATE DATABASE myblog OWNER django;
postgres=# GRANT ALL PRIVILEGES ON DATABASE myblog to django;
3.3 時(shí)區(qū)
- 在
settings.py
中找到TIME_ZONE
赘娄。
TIME_ZONE = 'Asia/Shanghai' # 中國上海
3.4 MEDIA路徑
- 在
settings.py
中找到MEDIA_ROOT
和MEDIA_URL
。
MEDIA 路徑是用來存儲(chǔ)上傳文件的位置读拆。
MEDIA_ROOT = 'media' # 當(dāng)前項(xiàng)目路徑下的media文件夾
MEDIA_URL = '/media/'
在項(xiàng)目目錄下建立media文件夾與之對(duì)應(yīng)擅憔。
mkdir media
3.5 STATIC路徑
- 在
settings.py
中找到STATIC_ROOT
,STATIC_URL
和STATICFILES_DIRS
檐晕。
STATIC_ROOT = 'static' # 當(dāng)前項(xiàng)目路徑下的static文件夾
STATIC_URL = '/static/'
STATICFILES_DIRS = ()
3.6 MIDDLEWARE_CLASSES
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
3.7 LANGUAGES
gettext_noop = lambda s: s
# 使Django支持多語言選擇暑诸。
LANGUAGES = (
('de', gettext_noop('German')),
('en', gettext_noop('English')),
('ja', gettext_noop('Japanese')),
('lt', gettext_noop('Lithuanian')),
('nl', gettext_noop('Dutch')),
('pl', gettext_noop('Polish')),
('pt', gettext_noop('Portuguese')),
('zh-cn', gettext_noop('Simplified Chinese')),
)
# xadmin配置文件
XADMIN_CONF = 'hellodjango.xsite'
DATE_FORMAT = 'Y-m-d'
DATETIME_FORMAT = 'Y-m-d H:i'
TIME_FORMAT = 'H:i'
4. 啟動(dòng)看看
cd myblog
python manage.py runserver 0.0.0.0:8000
報(bào)錯(cuò):
Error loading psycopg2 module: No module named 'psycopg2'
是缺少 psycopg2
模塊
解決:
pip install psycopg2
報(bào)錯(cuò):Error: pg_config executable not found.
yum install -y postgresql96-devel
- 再次安裝
psycopg2
成功,再次運(yùn)行manage.py
也沒報(bào)錯(cuò)
配置域名后用瀏覽器訪問
django