1 Djiango介绍
对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。
提供项目工程管理的自动化脚本工具
数据库ORM支持(对象关系映射,英语:Object Relational Mapping)
1) 重量级框架
模板
表单
Admin管理站点
文件管理
认证权限
session机制
缓存
2)MVT模式
有一种程序设计模式叫MVC,其核心思想是分工、解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。
M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查操作。
V全拼为View,用于封装结果,生成页面展示的html内容。
C全拼为Controller,用于接收请求,处理业务逻辑,与Model和View交互,返回结果。
Django的MVT
M全拼为Model,与MVC中的M功能相同,负责和数据库交互,进行数据处理。
V全拼为View,与MVC中的C功能相同,接收请求,进行业务处理,返回应答。
T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。
![在这里插入图片描述](https://img-blog.csdnimg.cn/d394c564e4fb49e6b0b2ec5139d305e5.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDYzODc0NA==,size_16,color_FFFFFF,t_70#pic_center)
2 Djiango工程搭建
1 安装虚拟环境包
sudo pip install virtualenv
sudo pip install virtualenvwrapper
2 创建虚拟环境
mkvirtualenv 虚拟环境名字 -p python3
3 Djiango 框架安装
pip install django==1.11.11
4 复习虚拟环境和pip的命令
mkvirtualenv
rmvirtualenv
workon
deactivate
pip install
pip uninstall
pip list
pip freeze
3 ubantu系统谷歌浏览器安装
ubantu系统谷歌浏览器安装
sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable
4 环境安装
1. 创建虚拟环境
mkvirtualenv django_py3_1.11 -p python3
2. 安装Django
pip install django==1.11.11
3. 复习虚拟环境和pip的命令
mkvirtualenv
rmvirtualenv
workon
deactivate
pip install
pip uninstall
pip list
pip freeze
5 创建工程
1. 创建工程的命令为:
django-admin startproject 工程名称
例如:想要在桌面的code目录中创建一个名为demo的项目工程,可执行如下命令:
cd ~/Desktop/code
django-admin startproject demo
2. 工程目录说明
与项目同名的目录,此处为demo。
settings.py 是项目的整体配置文件。
urls.py 是项目的URL配置文件。
wsgi.py 是项目与WSGI兼容的Web服务器入口。
manage.py 是项目管理文件,通过它管理项目。
3. 运行开发服务器
python manage.py runserver ip:端口
或:
python manage.py runserver
可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000。
6 创建子应用
1. 创建
在django中,创建子应用模块目录仍然可以通过命令来操作,即:
python manage.py startapp 子应用名称
manage.py 为上述创建工程时自动生成的管理文件。
例如,在刚才创建的demo工程中,想要创建一个用户users子应用模块,可执行:
cd ~/Desktop/code/demo
python manage.py startapp users
执行后,可以看到工程目录中多出了一个名为users的子目录。
2. 子应用目录说明
admin.py 文件跟网站的后台管理站点配置相关。
apps.py 文件用于配置当前子应用的相关信息。
migrations 目录用于存放数据库迁移历史文件。
models.py 文件用户保存数据库模型类。
tests.py 文件用于开发测试用例,编写单元测试。
views.py 文件用于编写Web应用视图。
3. 注册安装子应用
在工程配置文件settings.py中,INSTALLED_APPS项保存了工程中已经注册安装的子应用,
7 创建视图
1. 创建
from django.http import HttpResponse
def index(request):
"""
index视图
:param request: 包含了请求信息的请求对象
:return: 响应对象
"""
return HttpResponse("hello the world!")
2. 在users/urls.py文件中定义路由信息
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^index/$', views.index),
]
3. 在工程总路由demo/urls.py中添加子应用的路由数据。
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^users/', include('users.urls')),
]