• Django


    一、安装

    windows 7

    1.安装pip

    下载get-pip.py后直接安装

    python3 get-pip.py

    2.安装django

    pip3 install Django==1.11.4

    Linux

    1.安装pip

    yum install python3-pip

    2.安装Django

    pip3 install Django==1.11.4

    二、创建项目及应用

    1.命令行方式创建

     django-admin startproject mypro  -- 创建项目

     python manage.py startapp app01 -- 创建应用

     python manage.py runserver 8080  -- 启动项目

     python manage.py makemigrations  

      python manage.py migrate

    2.pycharm

    file->new project->Django

    三、MVC与MTV模式

    四、项目结构

    1.urls.py

    链接入口,关联到对应的views.py中的一个函数(或者称作generic类),访问的连接对应一个函数

    2.views.py

    处理用户请求,从urls.py中对应而来。通过渲染templates中的网页可以为用户显示页面内容,比如登录后的用户名,用户请求的数据,通过其输出到页面。

    3.models.py

    与数据库操作相关,存入或者读取数据时使用,当不使用数据库的时候,也可以当做一般的类封装文件,存储各种类的定义。

    4.settings

    Django的设置、配置文件,比如DEBUG的开关,静态文件的位置等

    5.templates目录

    views.py中渲染templates中的html模板,得到动态内容的网页,可以用缓存来提高渲染速度。

    四、路由配置系统

    URL配置就是URL调用路径与视图函数之间的映射关系

    from django.conf.urls import url
    
    from . import views
    
    urlpatterns = [
        url(r'^articles/2003/$', views.special_case_2003),
        url(r'^articles/([0-9]{4})/$', views.year_archive),
        url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
        url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
    ]
    View Code

    五、视图函数

    作用:逻辑实现

    from django.http import HttpResponse
    import datetime
    
    def current_datetime(request):
        now = datetime.datetime.now()
        html = "<html><body>It is now %s.</body></html>" % now
        return HttpResponse(html)
    View Code

    附:

    http请求-响应过程中有两个核心对象:

    http请求对象:HttpRequest

    http响应:HttpResponse(用于向网页返回内容)

    所在位置:django.http

    render函数:渲染打包HttpResponse对象发送给客户端

    =================================================================

    django流程回顾

    URLconf name别名

    后端改路径不影响前端

    1.URLocnf配置

    模板深度查询-->句点查询

    template:html+逻辑代码

       渲染变量-->render

       渲染标签

    template rander content-->(t.render(c))

    locals的使用

    不用在render的时候列出对应关系

    模板深度查询(列表索引,类对象的属性,)

    模板语言之filter

    filter语法:{{ var|方法:参数}}

    safe方法

    <p>{{ s }}</p>

    <p>{{ s|safe }}</p>

    自定义filter和sample_tag

    a.在app中创建templatetags模块(必须的)

    b.在该模块下创建任意的.py文件

      导入template模块

      register变量初始化

      函数及装饰器

    ********************************

    from django import template

    register=template.Library()(register固定)

    @register.filter

    def multi(x,y)

      return x*y

    ********************************

    html-->{{ var|muilt:参数}}

    c.加载filter

    {% load mytag %}

  • 相关阅读:
    网站、数据库的衍变之路(三)
    脚本嵌入式抓取引擎
    db4objects 7.4应用笔记
    网站、数据库的衍变之路(二)
    IIS连接数实验——Web开发必读
    攻破WebService,WCF的改进
    C#使用BerkeleyDB操作简介
    面试两个星期来的一点体会
    Lucene.Net 2.3.1开发介绍 —— 四、搜索(三)
    轻量级爬虫+全文检索解决方案项目——NukeLite(20081114 更新r24版 引入新线程机制)
  • 原文地址:https://www.cnblogs.com/geek-ace/p/7401800.html
Copyright © 2020-2023  润新知