一、Django框架的介绍
2005年发布,采用Python语言编写的开源框架
早期的时候Django主做新闻和内容管理的
一个重量级的 Python Web框架,Django 配备了常用的大部分组件
(一)安装:
1.在线安装:
- $ sudo pip3 install django # (安装django的最新版本)
- $ sudo pip3 install django[==版本]
$ sudo pip3 install django==1.11.8
(安装django的指定版本)
2.离线安装:
- 下载安装包:
- 安装离线包
$ tar -xvf Django-1.11.8.tar.gz
$ cd Django-1.11.8
$ sudo python3 setup.py install
3.用wheel离线安装
下载安装包:
pip3 download -d /home/weimz/django_packs django==1.11.8
安装离线包
$ pip3 install Django-1.11.8.whl
(二)Django的卸载:$ pip3 uninstall django
(三)Django 的开发环境:
- Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6(长期支持版本 LTS)
- 注: Django 1.11.x 不支持 Python 3.7
二、Django框架开发
(一)创建项目的指令
$ django-admin startproject 项目名称
如:$ django-admin startproject mywebsite1
运行:$ cd mywebsite1 $ python3 manage.py runserver # 或 $ python3 manage.py runserver 5000 # 指定只能本机使用127.0.0.1的5000端口访问本机
(二)Django项目的目录结构
$ django-admin startproject mywebsite1
$ tree mywebsite1/工
mywebsite1/
├── manage.py #项目管理的文件
└── mywebsite1
├── __init__.py
├── settings.py #项目配置文件
DEBUG = True
ALLOWED_HOST = []
TIME_ZONE = 'UTC' #'Asia/Shanghai'
LANGUAGE_CODE = 'zh-hans' #'en-su'
BASE_DIR = 当前项目所在位置的局对路径
ROOT_URLCONF = 'mywebsite1.urls'
├── urls.py #主路由配置文件
http : // 127.0.0.1(:8000) / path?a=(查询)#(信息片段urls)
路由:
主路由配置文件
#file:urls.py
from django.conf.urls import url
urlpattrens = [
url(r'^page,views.page_view'),
#注:如果page匹配成功,则page1和page2略过 需要在后面加&符号
url(r'^page1,views.page1_view'),
url(r'^page2,views.page2_view'),
#/data/2018/1/12 ->data_view(req,'2018','1','12')参数一定是字符串
url(r'^date/(d{4}/(d{1,2})/(d+),views.page_view'),
#/person/xiaoming/35 ->person_view(req,name='xiaoming',age='35')关键字传参,参数必须是字符串
url(r'^person/(?P<name>w+)/(?P<age>d+),views.page_view'),
………………
]
└── wsgi.py #wsgi布置的文件
项目目录结构解析:
manage.py
此文件是项目管理的主程序,在开发阶段用于管理整个项目的开发运行的调式
manage.py
包含项目管理的子命令, 如:
django-admin startproject sitename (创建django)
python3 manage.py runserver ip:port (启动服务器,默认ip和端口为http://127.0.0.1:8000/)
python3 manage.py startapp appname (新建 app)
python3 manage.py syncdb (同步数据库命令,Django 1.7及以上版本需要用以下的命令)
python3 manage.py makemigrations (显示并记录所有数据的改动)
python3 manage.py migrate (将改动更新到数据库)
python3 manage.py createsuperuser (创建超级管理员)
python3 manage.py dbshell (数据库命令行)
python3 manage.py (查看命令列表)