django有什么样的开发优势
Django是使用python进行web开发的一个高效开发框架,具有以下优势:
非常高效的web应用搭建
非常高效的web功能处理
完善的ORM操作[程序中的数据和数据库中的数据的对应(增删改查)关系]
非常强大的表单处理
非常强大的网页模板视图[网页、模板语法(视图)]
非常强大的路由功能[url地址和处理函数之间的映射(对应)关系]
硬件性能突破缓存处理
django的安装
django的安装与python中其他模块的安装类似
即pip install django
若python2与python3共存,尝试:
pip3 install django
若不行 ,尝试
python(x) -m pip install django
使用django创建web项目
django-admin startproject xxx
创建好的项目文件结构:
例:
django -admin startproject mysite
|-- mysite/ # 项目文件夹[根目录]
|-- mysite/ # 根项目(主项目)
|-- __init__.py # 模块文件
|-- urls.py # 路由文件[url地址和处理函数进行对应]
|-- settings.py # 项目的设置配置文件
|-- wsgi.py # 实现了wsgi网关协议的模块
|-- manage.py # 项目的命令管理模块[不需要修改,直接使用]
项目的启动及访问
启动:python manage.py runserver
这里默认使用8000端口
项目启动 python manage.py runserver +<自定义端口号>
web项目发布之后目标:数据共享——允许其他人访问我们的网站
指定ip地址和端口,允许通过网络地址访问
python manage.py runserver <ip>:<port>
注意:首先在mysite/mysite/settgins.py配置文件中,修改如下配置
ALLOWSED_HOST=[“*”,]
其次在启动项目时,通过如下命令启动
PS3:web项目发布之后目标:数据共享——允许其他人访问我们的网站
指定ip地址和端口,允许通过网络地址访问
python manage.py runserver <ip>:<port>
注意:首先在mysite/mysite/settgins.py配置文件中,修改如下配置
ALLOWSED_HOST=[“*”,]
其次在启动项目时,通过如下命令启动
python manage.py runserver 0.0.0.0:8000
文本显示:
将settings.py中LANGUAGE_CODE=’en_us’改为‘zh_Hans’
创建视图界面
在mysite/mysite/目录下,创建一个views.py模块
from django.http import HttpResponse
def index(request):
return HttpResponse("hello world!")
其次在mysite/mysite/urls.py路由文件中,添加url地址和处理函数之间的对应关系
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns=[
url(r'^admin/',admin.urls),
url(r'^index/$',views.index,name='index')
]
详细分析:
django是模块管理文件的,所以不同功能的代码存放在不同的py文件中
路由相关:urls.py
设置相关:settins.py
页面视图:views.py
网页视图开发:
导入一个响应对象模块:django.http.HttpResoponse
可以通过响应模块,给浏览器返回数据
def index(request):
return HttpResponse("hello world!")
路由模块:urls.py
什么是路由?路由就是从现实生活中的路由器抽象出来的一个概念,表示url地址和对应的处理函数之间 的对应【映射】关系
路由器:ip地址【请求路径】--路由器---个人PC【资源】
路由:url请求路径--路由--处理函数
路由:一种映射,一种对应,表示的是一种绑定关系
from django.conf.urls import url[路由对象:可以绑定一组对应关系]
urlpatterns=[
#将第一个参数路径和第二个参数处理函数绑定在一起
#请求第一个路径的时候,调用第二个参数[处理函数]
#第三个参数《就是给这个路由对象命名》
url(r'^test/$',views.test,name='test'),
]
创建Django项目【伴随着创建Django项目,会自动查创建根项目】
django-admin startproject myweb
myweb/项目根目录
myweb/根项目
manager.py 命令模块
进入项目根目录执行命令创建子模块应用
django-admin startapp myblog
myweb/项目根目录
myblog/子模块应用[子项目]
myweb/根项目
manager.py 命令模块
Django项目文件结构
|-- myweb/ 项目根目录
|-- myweb/ 项目根项目
|-- __init__.py
|-- settings.py 配置文件
|-- urls.py 主路由文件
|-- views.py 根项目视图模块
|-- wsgi.py
|-- myblog/ 项目子模块应用[子项目]
|-- admin.py 后台数据注册模块
|-- app.py 子项目描述模块
|-- urls.py 子路由文件,需要包含到主路由中使用
|-- views.py 子项目视图模块
|-- models.py 子项目中的类型定义模块
|-- manage.py 命令模块
项目结构:
通过根项目来管理各个子项目模块,实现项目功能的可伸缩性操作
项目开发原则:
MVC:是一种传统的流程处理模式,是一种编程思想,主要由数据模型model、控制器Controller以及view组成的一个完成流程处理模式,首先由和用户直接交互展示的视图view可以发起请求,由控制器Controller进行请求分发,调用指定的数据处理函数对model进行增删改查操作,完成一个功能的完整处理过程
MVT:mvt处理模式,是在mvc处理模式上,升级得到一种更加赴俄实际项目开发流程的处理思路;在这种处理模式中,将功能比较单一的控制器Controller部分,封装成了路由,由路由来完成请求的分发操作【路由是通过配置实现的】