从零到一搭建Django

2019-05-10  本文已影响0人  无处安放的躁动

环境现状

pyenv 安装

# 安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel git gcc
# 配置pyenv
git clone git://github.com/yyuu/pyenv.git ~/.pyenv  
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc  
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc  
echo 'eval "$(pyenv init -)"' >> ~/.bashrc  
exec $SHELL -l 
# 配置py虚拟环境
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
exec $SHELL
# 查看可以安装版本
pyenv install --list
# 安装python版本
pyenv install -v 3.6.5
#创建版本
pyenv virtualenv 3.6.5 env365
#激活该版本
pyenv activate env365
#离开该版本
pyenv deactivate

Django安装

# 激活环境变量
pyenv activate
pip install django mysqlclient
# 查看django版本
python -m django --version
django-admin startproject myblog
cd myblog
django-admin startapp users

docker安装mysql数据库

使用docker-compose -d up . 启动

vim docker-compose.yml
version: '3.3'

services:
  lwmysql:
    environment:
        MYSQL_ROOT_PASSWORD: 123456
    image: mysql:5.6
    restart: always
    volumes:
        - /data/mysql/data/:/var/lib/mysql/
        - /data/mysql/my.cnf:/etc/my.cnf
    ports:
        - 3306:3306
    container_name: mysql5.6

修改配置文件

ALLOWED_HOSTS = ['dev.james.com','127.0.0.1']

INSTALLED_APPS = [                           
    'django.contrib.admin',                  
    'django.contrib.auth',                   
    'django.contrib.contenttypes',           
    'django.contrib.sessions',               
    'django.contrib.messages',               
    'django.contrib.staticfiles',            
    'users',                                 
]   

DATABASES = {        
    'default': {     
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'JamesDevOps',
        'PASSWORD':'123456',  
        'USER': 'root',       
        'HOST':'127.0.0.1',
        'PORT':'3306',
    }
}

启动Django

在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,
比如0001_initial.py, 但是这个改动还没有作用到数据库文件
python manage.py migrate
将该改动作用到数据库文件,比如产生table之类

# 
python manage.py makemigrations
# 
python manage.py migrate
#创建超级用户
python manage.py createsuperuser
#运行web
python manage.py runserver 0.0.0.0:8000

nginx 代理

server {
    listen 80;
    server_name dev.james.com; 
location / {
            proxy_pass http://127.0.0.1:8000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            root /opt/Django/myblog;
            index  index.html;
        }
#        location ~ ^/(static)/ {
#           root /root/webvue/;
#        }
}

初步搭建完成

结果图
上一篇 下一篇

猜你喜欢

热点阅读