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路径的匹配关系。
完!
这就是我们第一个自定义的网页了。虽然是静态的,但好歹已经可以添加内容了,慢慢来,以后还有好多要学呢。
Django建立helloworld自定义页面的更多相关文章
- Django入门之自定义页面
1.创建项目,创建app django-admin.py startproject HelloWord python3 manage.py startapp sync_one #第二步需要进入Hell ...
- django的404,500错误自定义页面的配置
django404,500错误自定义页面: 1.设置settings文件 DEBUG = False ALLOWED_HOSTS = ['127.0.0.1', 'localhost']或者ALLOW ...
- C#综合揭秘——通过修改注册表建立Windows自定义协议
引言 本文主要介绍注册表的概念与其相关根项的功能,以及浏览器如何通过连接调用自定义协议并与客户端进行数据通信.文中讲及如何通过C#程序.手动修改.安装项目等不同方式对注册表进行修改.其中通过安装项目对 ...
- 【转】C#综合揭秘——通过修改注册表建立Windows自定义协议
引言 本文主要介绍注册表的概念与其相关根项的功能,以及浏览器如何通过连接调用自定义协议并与客户端进行数据通信.文中讲及如何通过C#程序.手动修改.安装项目等不同方式对注册表进行修改.其中通过安装项目对 ...
- Django关于设置自定义404和安装debug-toolbar的笔记
Django关于设置自定义404和安装debug-toolbar的笔记 关于设置404 先做好404页面,然后在views.py文件中做好映射,最后是在urls.py做好路由,而这个urls.py必须 ...
- 第三百一十四节,Django框架,自定义分页
第三百一十四节,Django框架,自定义分页 自定义分页模块 #!/usr/bin/env python #coding:utf-8 from django.utils.safestring impo ...
- 通过修改注册表建立Windows自定义协议
引言 本文主要介绍注册表的概念与其相关根项的功能,以及浏览器如何通过连接调用自定义协议并与客户端进行数据通信.文中讲及如何通过C#程序.手动修改.安装项目等不同方式对注册表进行修改.其中通过安装项目对 ...
- 运维开发笔记整理-使用Django编写helloworld
运维开发笔记整理-使用Django编写helloworld 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建Django项目 1>.创建Django项目 djang ...
- 帝国CMS自定义页面的添加与目录式链接的处理
需求: 1.将某一本地前端自定义页面模板,导入到帝国系统,应用到网站 2.将导入的页面在站点中打开为目录式链接 www.abc.com/softlink/ 环境: 1.windows服务器 2.帝国C ...
随机推荐
- 谈谈对web标准的理解
Web标准不是某一个标准,而是由一系列标准组合而成.网页主要由三部分组成:结构.表现和行为.对应的标准也分三方面:结构化标准语言主要包括XHTML和HTML以及XML,表现标准语言主要包括CSS,行为 ...
- JavaScript实现div宽、高自动缓慢拉伸
最近打算实现一个带有滤镜效果的地自动拉伸图片.发现使用css3浏览器兼容性得需要特别关注.这里我使用js实现了一个div边框自动拉伸和缩小.源码如下: <!DOCTYPE html>< ...
- avalon前端js直接通过ajax请求传一个对象到后台
代码如下: //企业开票信息 vm.invoiceInfo = { companyId : "", //企 ...
- Toast添加动画
WindowManger wm =(WindowManger)context.getSystemService(Context.WINDOW_SERVICE); View view = Toast.m ...
- 流程控制 - PHP手册笔记
脚本由语句构成,语句靠流程控制实现功能,这一节主要介绍了几个关键字的使用. elseif elseif和else if的行为完全一样,如果用冒号来定义if/elseif条件,那就不能用两个单词的els ...
- TCP协议: SYN ACK FIN RST PSH URG 详解
TCP的三次握手是怎么进行的了:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手:接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给 ...
- 混合使用Azure LB和ILB访问相同web服务(1)
在经典的使用场景中,我们一般使用AzureLoadBalancer来面向公网提供负载均衡服务,而使用Azure Internal Load Balancer提供内部那些不愿意将服务暴露给公网的服务,比 ...
- USB 传输协议
Pipe USB的pipe的两端分别指的是USB host端的内存区域,和设备端的endpoint. pipe分为两类,一类是stream pipe, 另一类是message pipe. 两类的主要区 ...
- ARM和X86功耗差别的深层原因探讨
ARM和X86功耗差别的深层原因探讨 ARM和X86功耗的差别一直是个很热的话题.ARM可以做的很低,甚至1瓦都不到.而X86服务器的芯片可以达到100-200瓦,就算是嵌入式处理器Atom系列也需要 ...
- jquery $ dollar符号用法总结
参考:https://github.com/chyingp/blog/blob/master/jquery/jQuery%E6%BA%90%E7%A0%81-%E7%BE%8E%E5%85%83$%E ...