美文网首页
django来敲门

django来敲门

作者: 梅花九弄丶 | 来源:发表于2017-11-28 20:25 被阅读0次

    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部分,封装成了路由,由路由来完成请求的分发操作【路由是通过配置实现的】

    相关文章

      网友评论

          本文标题:django来敲门

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