美文网首页
11.28学习 python web开发初级(2) Django

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

作者: 杰罗尼莫030 | 来源:发表于2017-11-28 21:57 被阅读0次

    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组件

    • 非常高效的web应用搭建
    • 非常高效的web功能处理
    • 完善的ORM操作【程序中的数据和数据库中的数据的对应(增删改查)关系】
    • 非常强大的表单处理
    • 非常强大的网页模版视图
    • 非常强大的路由功能【url地址和处理函数之间的映射关系】
    • 硬件性能突破缓存处理
      ...

    使用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中的该项目即会使用设置好的虚拟环境

    相关文章

      网友评论

          本文标题:11.28学习 python web开发初级(2) Django

          本文链接:https://www.haomeiwen.com/subject/nknebxtx.html