zoukankan      html  css  js  c++  java
  • Python 之 Django

    Django

    1、django后台请求处理过程

    找到setting文件中ROOT_URLCONF所指向的文件,它告诉django,这个站点中所有被用到的模块都在ROOT_URLCONF指向的文件中。按顺序逐个匹配URLconf里的URLpatterns,当找到这个匹配 的URLpatterns就调用相关联的view函数,并把 HttpRequest 对象作为第一个参数。

    运行过程:
    进来的请求传入/hello/.
    Django通过在ROOT_URLCONF配置来决定根URLconf.
    Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
    如果找到匹配,将调用相应的视图函数
    视图函数返回一个HttpResponse
    Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来。

    摘录:

    1、运行 django-admin.py startproject mysite 命令在当前目录创建一个 mysite 目录

    备注:如果发现找不到该命令,是因为django的安装目录没有添加到系统路径中。解决方法是将django的安装目录添加到系统变量中的path路径中。

    2、新建的工程中各个文件的作用

    __init__.py :让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。
    manage.py :一种命令行工具,可让你以多种方式与该 Django 项目进行交互。
    settings.py :该 Django 项目的设置或配置。
    urls.py :该 Django 项目的 URL 声明,即 Django 所支撑站点的内容列表

    3、django自带服务器的缺点

    尽管对于开发来说,这个开发服务器非常得棒,但一定要打消在产品级环境中使用该服务器的念头。在同一时间,该服务器只能可靠地处理一次单个请求,并且没有进行任何类型的安全审计。

    4、url文件中的正则表达式

    模式包含了一个尖号(^)和一个美元符号($)。这些都是正则表达式符号,并且有特定的含义: 上箭头要求表达式对字符串的头部进行匹配,美元符号则要求表达式对字符串的尾部进行匹配。
    最好还是用范例来说明一下这个概念。 如果我们用尾部不是$的模式’^hello/’,那么任何以/hello/开头的URL将会匹配,例如:/hello/foo 和/hello/bar,而不仅仅是/hello/。类似地,如果我们忽略了尖号(^),即’hello/$’,那么任何以hello/结尾的URL将会匹配,例如:/foo/bar/hello/。如果我们简单使用hello/,即没有^开头和$结尾,那么任何包含hello/的URL将会匹配,如:/foo/hello/bar。因此,我们使用这两个符号以确保只有/hello/匹配,不多也不少。

    5、正则表达式

    符号匹配
    . (dot) 任意单一字符
    d 任意一位数字
    [A-Z] A 到 Z中任意一个字符(大写)
    [a-z] a 到 z中任意一个字符(小写)
    [A-Za-z] a 到 z中任意一个字符(不区分大小写)
    + 匹配一个或更多 (例如, d+ 匹配一个或 多个数字字符)
    [^/]+ 一个或多个不为‘/’的字符
    零个或一个之前的表达式(例如:d? 匹配零个或一个数字)
    * 匹配0个或更多 (例如, d* 匹配0个 或更多数字字符)
    {1,3} 介于一个和三个(包含)之前的表达式(例如,d{1,3}匹配一个或两个或三个数字)
    6、django处理请求过程
    所有均开始于setting文件。
    当你运行python manage.py runserver,脚本将在于manage.py同一个目录下查找名为setting.py的文件。这个文件包含了所有有关这个Django项目的配置信息,均大写: TEMPLATE_DIRS , DATABASE_NAME , 等. 最重要的设置时ROOT_URLCONF,它将作为URLconf告诉Django在这个站点中那些Python的模块将被用到。
    当访问 URL /hello/ 时,Django 根据 ROOT_URLCONF 的设置装载 URLconf 。 然后按顺序逐个匹配URLconf里的URLpatterns,直到找到一个匹配的。 当找到这个匹配 的URLpatterns就调用相关联的view函数,并把 HttpRequest 对象作为第一个参数。
    7、url配置松耦合:在Django的应用程序中,URL的定义和视图函数之间是松 耦合的,换句话说,决定URL返回哪个视图函数和实现这个视图函数是在两个不同的地方。 这使得 开发人员可以修改一块而不会影响另一块。
  • 相关阅读:
    Linux(centos7)安装maven3.5
    mysql安装错误之->ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    CentOS7 安装tomcat为系统服务器 Systemctl管理Tomcat,并设置开机启动
    linux(centos)设置tomcat开机启动
    linux(centos7)安装tomcat
    修改Tomcat8w.exe可执行路径:Path to executable
    CentOS 7更改yum源与更新系统
    最全的PHP开发Android应用程序
    Cookies的各方面知识(基础/高级)深度了解
    使用Hash直接登录Windows(HASH传递)
  • 原文地址:https://www.cnblogs.com/nelsen-chen/p/9138980.html
Copyright © 2011-2022 走看看