zoukankan      html  css  js  c++  java
  • Django建立helloworld自定义页面

    目录介绍

    按照上一篇初学Django首先建立起一个默认站点,生成如下的目录结构:

    manage.py 一种命令行工具,允许你以多种方式与该 Django 项目进行交互。 键入python manage.py help,看一下它能做什么。 你不需要编辑这个文件;在这个目录下生成它纯是为了方便启动服务 (通过执行 python manage.py runserver 9200 ,就可以通过http://127.0.0.1:9200访问新建的站点了)

    testsite目录中有如下几个文件:

    其中具体的意义我也还不甚了解,之后慢慢看吧。

    启程hello world!

    站点中我们需要新增自己的页面(视图),那开始创建自己的helloworld吧。

    创建视图

    testsite目录创建名为views.py的文件,当然文件名你随便啦,view还算是个比较好的选择吧。

    在视图中输入如下代码便创建好了我们第一个视图。

    from django.http import HttpResponse
    def hello(request):
        return HttpResponse("Hello world")
    

    我们来看一下这个视图:

    1、从django.http导入HttpResponse

    2、定义一个hello方法,称为视图函数,它接收一个参数request

    每个视图函数至少要有一个参数,通常叫做request。它是一个触发视图函数、包含当前web请求信息的对象,是类django.http.HttpRequest的实例。这里先记着就好,例子中没有用到它。

    3、返回一个HttpResponse对象,包含文本信息"Hello world"。

    这里主要讲的是: 一个视图就是Python的一个函数。这个函数第一个参数的类型是HttpRequest;它返回一个HttpResponse实例。为了使一个Python的函数成为一个Django可识别的视图,它必须满足这两个条件。 (也有例外

    路由映射

    我们创建好了视图,怎么来展示在网页上呢?那就是URLconf(对应文件urls.py)的作用了。知道mvc的童鞋应该很容易理解,它主要就是用来做路由映射的,即你定义一个url,对应Django的一个视图函数。

    打开文件urls.py看到如下信息:

     

    这里我们看到一个admin的路由,你可以尝试一下在http://127.0.0.1:9200/admin会是什么效果。

     

    我们先不用理解这些是做什么的,删除掉系统自建的剩余如下信息:

     在urls.py中导入模块,添加路由 url(r'^hello/$',hello),

    查看效果

    现在在浏览器输入 http://127.0.0.1:9200/hello  看是什么效果呢?

    我们的‘Hello world!’输出来。

    URLconf

    为什么URLconf要这么写呢?(url(r'^hello/$',hello), )

    前半部分是一个正则表达式,用来匹配URL,如果匹配,则调用视图函数hello

    如果你的URL是这样 http://127.0.0.1:9200/hello?a=1 

    那么将不会调用hello这个视图函数,因为正则不匹配($匹配结尾)不匹配。

    如果你写成url(r'hello',hello), 那么http://127.0.0.1:9200/hello?a=1 和   http://127.0.0.1:9200/hello1 还有http://127.0.0.1:9200/ttthello1 都能匹配,他们将会调用同一个hello视图。

    说到底,就是正则表达式和URL路径的匹配关系。

    完!

    这就是我们第一个自定义的网页了。虽然是静态的,但好歹已经可以添加内容了,慢慢来,以后还有好多要学呢。

      

  • 相关阅读:
    【第3版emWin教程】第27章 emWin6.x支持的字体简介
    【第3版emWin教程】第26章 字符编码和点阵字体基础知识(重要)
    嵌入式新闻早班车-第13期
    《安富莱嵌入式周报》第221期:2021.07.12--2021.07.18
    嵌入式新闻早班车-第12期
    TI发布采样率12.8Gsps,带宽6GHz,12bit分辨率高速示波器参考设计
    【DSP教程】第36章 FIR滤波器的Matlab设计(含低通,高通,带通和带阻)
    嵌入式新闻早班车-第11期
    【DSP教程】第35章 FIR有限冲击响应滤波器设计
    【STM32F407&F429&H7的DSP教程】第34章 滤波器基础知识
  • 原文地址:https://www.cnblogs.com/cotton/p/3831109.html
Copyright © 2011-2022 走看看