用django搭建自己的博客(一)-安裝環(huán)境

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_ROOTMEDIA_URL。
    MEDIA 路徑是用來存儲上傳文件的位置。
MEDIA_ROOT = 'media'   # 當(dāng)前項(xiàng)目路徑下的media文件夾 
MEDIA_URL = '/media/'

在項(xiàng)目目錄下建立media文件夾與之對應(yīng)。

mkdir media

3.5 STATIC路徑

  • settings.py 中找到 STATIC_ROOT,STATIC_URLSTATICFILES_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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容