环境:为了使服务器可以开发多个应用程序,环境版本互不影响,利用virtualenv来建立独立隔离的环境进行开发使用。python
#安装virtualenv:mysql
[root@vps django]# pip3 install virtualenvsql
#建立一个虚拟环境 数据库
[root@vps django]# virtualenv django_envdjango
Using base prefix '/usr/local'服务器
New python executable in /django/django_env/bin/python3.5app
Also creating executable in /django/django_env/bin/pythonide
Installing setuptools, pip, wheel...done.ui
#使用虚拟环境spa
[root@vps django]# source django_env/bin/activate
#在虚拟环境下安装django
(django_env) [root@vps django]# pip3 install django==1.10
术语:
project的做用是提供配置文件,比方说哪里定义数据库链接信息, 安装的app列表,TEMPLATE_DIRS ,等等。
一个app是一套Django功能的集合,一般包括模型和视图,按Python的包结构的方式存在。
例如,Django自己内建有一些app,例如注释系统和自动管理界面。 app的一个关键点是它们是很容易移植到其余project和被多个project复用。
#1.建立一个项目project
(django_env) [root@vps django]# django-admin startproject my_project
建立一个项目之后,会生成几个文件
#2.建立应用app,下面两种方法均可以
(django_env) [root@vps my_project]# django-admin startapp first_app
(django_env) [root@vps my_project]# python3 manage.py startapp second_app
#3.链接数据库,Python3中使用pymsql链接MySQLdb,不然会遇到下面的坑
解决方法:
1).安装pymysql轮子:
(django_env) [root@vps my_project]# pip3 install pymysql
2). 执行成功后,打开__init__.py,添加以下:
3).修改settings.py :
4).同步数据库:
这种方法能够建立表,当你在models.py中新增了类时,运行它就能够自动在数据库中建立表了,不用手动建立。
(django_env) [root@vps my_project]#python3 manage.py migrate
数据库同步成功后,链接的库中会生成一些表。
#4.使用自带的开发服务器,只在开发时调试使用,不建议在线上使用
(django_env) [root@vps my_project]# python3 manage.py runserver 0.0.0.0:8000
Performing system checks...
System check identified no issues (0 silenced).
January 04, 2017 - 02:24:16
Django version 1.10, using settings 'my_project.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[04/Jan/2017 02:25:15] "GET / HTTP/1.1" 200 1767
Not Found: /favicon.ico
#建立后台登陆帐号密码
(django_env) [root@vps my_project]# python3 manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: admin@admin.com
Password:
Password (again):
庐山真面貌