Django 环境部署

安装前准备(windows 10环境):


1. 安装python
2. 安装virtualenv pip install virtualenv
3. 创建虚拟目录

d:
cd project
virtualenv django_env
新建项目:django-admin.py startproject project-name
新建apppython manage.py startapp app-name  django-admin.py startapp app-name
同步数据库:python manage.py migrate
使用开发服务器:python manage.py runserver 0:8000
清空数据库:python manage.py flush
创建超管:python manage.py createsuperuser
导出导入数据:python manage.py dumpdata appname > appname.jso或python manage.py loaddata appname.json
django命令行python manage.py shell
数据库命令行:python manage.py dbshellenv
cd django_env
scripts\active      # 激活虚拟环境

安装django

  1. 安装djangopip install django或者安装指定版本pip install django==1.11
  2. 创建项目:在目录'(django_env) D:\project\django\django_env'下,执行django-admin startproject website
  3. 创建应用:在目录'(django_env) D:\project\django\django_env\website'下,执行mange.py startapp tech

  4. 常用命令:

查看django安装路径 python -c 'import django;print(django.__path__)'
查看django版本 python -c 'import django;print(django.get_version())'

创建初始静态文件:python manage.py collectstatic
更多:python manage.py

配置数据库mysql

  1. 下载mysql
  2. 解压下载的mysql压缩包并配置my.ini
[mysqld]
basedir = D:\project\mysql-5.7.17-winx64
datadir = D:\project\mysql-5.7.17-winx64\data
port = 3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
default-storage-engine=INNODB

[mysql]
default-character-set=utf8
  1. 以管理员身份运行‘命令提示符CMD’,将目录切换到你解压文件的bin目录,使用命令mysqld install安装mysql
  2. 启动mysql服务net start mysql
  3. 创建数据库:create database website default charset utf8;
  4. 常用语句
use mysql; 
insert into mysql.user(Host,User,Password) values ('localhost','sopuy',password('111111')); 
create database website default charset utf8; 
grant all privileges on website.* to sopuy@localhost; 

grant all privileges on website.* to sopuy@'1.2.3.%' identified by 'sopuy'; 
update mysql.user set password=password('111111') where User="sopuy"; 

flush privileges; 
select user , host from user; 

配置django

  1. 安装python-mysql连接库:pip install pymysql
  2. 修改django配置文件D:\project\django\django_env\website\website\settings.py
DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'website',
        'USER':'root',
        'PASSWORD': '',
        'HOST':'',
        'PORT':'',
    }
}
  1. 修改`D:\project\django\django_env\website\website\__init__.py
import pymysql
pymysql.install_as_MySQLdb()
  1. 同步数据库:python manage.py migrate
  2. 创建超管:python manage.py createsuperuser
  3. 运行开发服务器:python manage.py runserver 0:8000或者python manage.py runserver 0.0.0.0:8000
  4. 访问开发服务器

其他

  • 去除密码复杂性校验

    修改配置文件D:\project\django\django_env\Lib\site-packages\django\contrib\auth\password_validation.py
    通过Nginx部署django(Nginx+uwsgi+django)