11.28学习 python web开发初级(2) Django

2017-11-28  本文已影响0人  杰罗尼莫030

MVC处理模式

MVC是一种传统的流程处理模式,是一种编程思想,主要由数据模型(Model)、控制器(Controller)以及视图(View)组成的一个完成流程处理模式,首先由和用户直接交互展示的视图View可以发起请求,由控制器Controller进行请求的分发,调用制定的数据处理函数对数据Model进行增删改查操作,完成一个功能的完整处理过程!

核心部分是控制器,主要实现视图和数据模型之间的数据交互的!


MVC处理模式

Django在发展的过程中,为了达到非常高效率的网站结构搭建,提供给开发人员一个干净整洁的项目结构,让开发人员更多的精力集中在功能开发上、而不是技术实现上,所以Django对于常规的MVC处理模式进行了升级——

MVT处理模式


Django是实现了MVT处理模式的高效率开发的web框架


MVT处理模式

MVT处理模式是在MVC处理模式上,升级得到的一种更加符合实际项目开发流程的处理思路;在这种处理模式中,将功能比较单一的控制器Controller部分,封装成了路由!
由路由来完成请求的分发操作[路由是通过配置实现的]


python中模块和框架有什么区别?

模块:pygame\hashlib..:模块指代的是大量函数的一个集合
框架:Django\Torando\Flask..:框架指代的各种模块的集合以及封装了大量的流程处理

python使用的web框架有很多,比较流行的有:
Django
Flask
Tornado


Django框架的优势

Django是一个python web框架,主要用于进行高效率的web软件开发而衍生出来一个python组件


使用Django

安装:命令行输入pip install django

使用django创建web项目
在目录下输入django-admin startproject <name>
django-admin startproject mysite

创建好的项目文件结构


启动并访问项目
根目录下执行:
python manage.py runserver

启动成功

打开浏览器,访问http://localhost:8000
即可看到页面

默认为英文,可以转换成中文显示
在mysite/mysite/setting.py中
LANGUAGE_CODE ='en_us' -> 'zh_Hans'

默认端口为8000,可以调整
自定义启动端口 启动时输入:
python manage.py runserver <port>

允许其他人访问我们的网站
指定ip地址和端口,允许通过网络地址访问
python manage.py runserver <ip>:<port>

注意:在mysite/mysite/settings.py中配置文件,修改如下配置
ALLOWSED_HOST=["*",]
在启动项目时,通过如下命令启动:
python manage.py runserver 0.0.0.0:8000

这样的布置服务器,可以用于web项目的开发,实际部署要部署到相应的服务器上


创建第一个视图页面

首先在mysite/mysite/目录下,创建一个views.py视图模块

from django.http import HttpResponse

def index(request):
    return HttpResponse("...")

其次在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
设置相关:settings.py
页面视图:views.py

网页视图开发:
导入一个响应对象模块:django.http.HttpResponse
可以通过响应对象模块,给浏览器返回数据
def index(request):
return HttpResponse("...")

路由模块:urls.py
什么是路由?路由就是从现实生活中的路由器抽象出来的一个概念,表示的url地址和对应的处理函数之间的对应[映射]关系
可参考:https://www.zhihu.com/question/46767015?sort=created

路由器:ip地址[请求路径]-->路由器-->个人PC[资源]
路由:url请求路径-->路由-->处理函数

路由:一种映射,一种对应,表示的是一种绑定关系

from django.conf.urls import url[路由对象:可以绑定的一组对应关系]

urlpatterns[  
    url(r’^login/$’, views.login, name=’login’),
    url(),
    url(),
    ...
]
url(
    #第一个参数 正则 路径 与处理函数绑定,
    #第二个参数 处理函数 与路径绑定(#可传参),
    (#第三个参数 给路由对象命名,)
)

视图处理模块:views.py

处理函数定义


创建子模块应用

django-admin startapp myblog

Django项目文件结构

通过根项目来管理各个子项目模块,实现项目功能的可伸缩性操作


附录:虚拟开发环境
python2.X与python3.X的切换:
1、直接命令行切换python2 <--> python3
2、pyenv软件
3、创建虚拟环境——第三方模块virtualenv
安装:pip install virtualenv
在指定的文件夹中,创建一个虚拟环境

# 进入django_1_11/目录
cd worker/django_1_11/

# 创建一个虚拟环境
virtualenv d_1_11

# 进入虚拟环境
./d_1_11/Scripts/activate

# 进入django_1_8/目录
cd worker/django_1_8/

# 创建一个虚拟环境
virtualenv d_1_8

# 进入虚拟环境
./d_1_8/Scripts/activate

4、pycharm直接设置
在pycharm的设置settings中,找project:project interpreter 添加虚拟环境,这样pycharm中的该项目即会使用设置好的虚拟环境

上一篇下一篇

猜你喜欢

热点阅读