美文网首页
用django搭建自己的博客(一)-安装环境

用django搭建自己的博客(一)-安装环境

作者: 撸大师 | 来源:发表于2016-10-13 10:09 被阅读222次

    1. 新建项目

    django-admin.py startproject myblog
    

    2. 查看项目目录结构

    > tree myblog/
    myblog/
    ├── manage.py
    └── myblog
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
    
    1 directory, 5 files
    

    说明

    manage.py 是管理网站的脚本,可以使用它来启动一个简单的web服务器。

    myblog 文件夹是网站配置文件夹,主要操作的文件有settings.py和urls.py。

    settings.py 是工程的核心配置文件。

    urls.py 是路由配置文件,可以配置URL到实际Controller的映射关系

    3. 修改默认配置

    • settings.py 开头插入# -*- coding: utf-8 -*-,防止中文错误。
      :所有python文件都要添加# -*- coding: utf-8 -*-

    3.1 数据库

    • settings.py 中找到 DATABASES
    > vim myblog/settings.py 
    # 这里是 默认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',    # 数据库名
            'USER': 'django',                # 用户名
            'PASSWORD': '123',    # 密码
            'HOST': '127.0.0.1',        # 地址
            'PORT': '5432',                # 端口
        }
    }
    

    3.2 设置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 时区

    • settings.py 中找到 TIME_ZONE
    TIME_ZONE = 'Asia/Shanghai'       # 中国上海
    

    3.4 MEDIA路径

    • settings.py 中找到 MEDIA_ROOTMEDIA_URL
      MEDIA 路径是用来存储上传文件的位置。
    MEDIA_ROOT = 'media'   # 当前项目路径下的media文件夹 
    MEDIA_URL = '/media/'
    

    在项目目录下建立media文件夹与之对应。

    mkdir media
    

    3.5 STATIC路径

    • settings.py 中找到 STATIC_ROOTSTATIC_URLSTATICFILES_DIRS
    STATIC_ROOT = 'static' # 当前项目路径下的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. 启动看看

    cd myblog
    python manage.py runserver 0.0.0.0:8000
    

    报错

    Error loading psycopg2 module: No module named 'psycopg2'
    

    是缺少 psycopg2 模块
    解决

    pip install psycopg2
    

    报错:Error: pg_config executable not found.

    yum install -y postgresql96-devel
    
    • 再次安装 psycopg2 成功,再次运行 manage.py 也没报错

    配置域名后用浏览器访问

    django

    相关文章

      网友评论

          本文标题:用django搭建自己的博客(一)-安装环境

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