MTV中的V表示的是Views,视图函数(或简称视图)只是一个Python函数,它接受Web请求并返回Web响应。

通俗的理解可以理解为后端控制器。

(响应可以是网页的HTML内容,重定向,404错误,XML文档或图像。)

为了将代码放在某处,惯例是将视图放在一个名为 views.py 的文件中,该文件位于项目或应用程序目录中。

1、编写第一个views视图

    打开firstApp/views.py,输入:

from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world !")

其中,request参数是用来接收请求报文的,导入HttpResponse对象,用来向客户端返回数据。

这样,我们便可以实现能够响应一个 ”Hello, world !” 字符串的view函数

为了能够在浏览器上看到该信息,我们需要将一个 URL 映射到它,即创建一个 URLconf 。

2、路由的使用

简单的路由过程解析:

为此,我们首先配置路由:

第一步,打开firstApp/urls.py(通常需要创建该文件,这是图示中的 子路由 ),输入:

#子路由
from django.urls import path,re_path
from firstApp import views urlpatterns = [
re_path('index/', views.index, name='index'),
# re_path可以使用正则匹配视图,相当于Django1版本的url
# 写法为re_path(r'^ … $', views.…)
#... 其他的路由规则
]

第二步,配置跟路由(跟URLconf文件:项目根目录同名目录下的urls.py)

#根路由
from django.contrib import admin
from django.urls import path,include urlpatterns = [
path('admin/', admin.site.urls), # path匹配的是字符串,不能使用正则匹配
path('user/', include(('appname.urls','appname'),namespace='appname')), # namespace是命名空间
#... 其他的路由规则
]

函数 include( )允许引用其它 URLconfs。每当Django遇到include()(来自django.conf.urls.include())时,它会去掉跟URL中匹配的部分并将剩下的字符串发送给include的URLconf做进一步处理,也就是转发到子路由去。

此时我们可以运行项目,并进入 localhost:8000/user/index 查看我们刚才view函数返回的响应。

3、运行项目

打开cmd命令行进入项目目录,执行:

python manage.py runserver 8000

打开浏览器,进入 localhost:8000/user/index

Python-Django学习笔记(四)-views的编写以及urls分发器的配置的更多相关文章

  1. python Django 学习笔记(四)—— 使用MySQL数据库

    1,下载安装MySQLdb类库 http://www.djangoproject.com/r/python-mysql/ 2,修改settings.py 配置数据属性 DATABASES = { 'd ...

  2. Python & Django 学习笔记

    最近在学校Python和Django.在学习中遇到了种种的问题,对于一个新手来说,下面的问题可能都会遇到.希望能帮助到那些和我一样的人!!0.python-dev安装(ubuntu)  apt-get ...

  3. python Django 学习笔记(六)—— 写一个简单blog做增删改练手

    简单效果图 1,创建一个项目myblog 可参考这里 myblog/ manage.py myblog/ __init__.py settings.py urls.py wsgi.py 2,创建blo ...

  4. python Django 学习笔记(一)—— Django安装

    注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...

  5. python Django 学习笔记(二)—— 一个简单的网页

    1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...

  6. Python——Django学习笔记

    Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...

  7. python Django 学习笔记(三)—— 模版的使用

    模版基本介绍 模板是一个文本,用于分离文档的表现形式和内容. 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签). 模板通常用于产生HTML,但是Django的模板也能产生任何 ...

  8. python Django 学习笔记(五)—— Django admin自动管理界面

    1,激活管理界面 修改settings.py MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.c ...

  9. Python——追加学习笔记(四)

    函数 1.python里的函数可以返回一个值或者对象,知识在返回一个容器对象的时候有点不同,看起来像是能返回多个对象. >>> def bar(): ... return 'abc' ...

随机推荐

  1. Linux7种运行模式

    1)在超级权限下(#)vim /etc/inittab 2)文件内容模式的理解: 0 代表:关机模式(此模式 linux是关机状态) 1 代表:单用户模式(例如root的密码忘记了,可以在该模式下完成 ...

  2. Hibernate4.x 报错 Space is not allowed after parameter prefix ':'

    1.问题描述  hibernate4.0使用原生sql:   (SELECT a.user_id,(@rowno:=@rowno+1) as rowno,a.goods_value FROM n_wo ...

  3. ospf路由协议源码学习

    目前,主要有两个版本的源码实现,一是quagga,一是bird. quagga的代码大概有3-4万行,有提到unnumbered interface, bird的代码大概1万行,但没有提到unnumb ...

  4. 解决Python2.7的UnicodeEncodeError: 'ascii' codec can't encode异常错误

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) ...

  5. HTTP 中 GET 与 POST 的区别(详解)

    我们都知道GET和POST是HTTP请求的两种基本方法,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 很多权威网站总结出的他们的区别: GET在浏览器回退 ...

  6. Linux运维--实践-Rally

    1.rally简介 OpenStack Rally 是一个自动化测试工具,社区希望通过 Rally 来解答 "How does OpenStack work at scale?(如何规模化运 ...

  7. python3-cookbook笔记:第九章 元编程

    python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...

  8. 远程服务器返回错误:(414)Request-URI Too Large

    近期因为疫情原因,一直是在家办公了,也导致了和同事对接接口上出现了很多小问题,这也从侧面反映出我个人对项目的设计不全面. 上面是对接接口时产生的一个问题:远程服务器返回错误:(414)Request- ...

  9. Binder 原理整理

    linux进程间通信方式 1. 管道 管道的实质是一个内核缓冲区,管道的作用正如其名,需要通信的两个进程在管道的两端,进程利用管道传递信息.管道对于管道两端的进程而言,就是一个文件,但是这个文件比较特 ...

  10. go单任务版爬虫

    go单任务版爬虫(爬取珍爱网) 爬虫总体算法 单任务版爬虫架构 任务 获取并打印所在城市第一页用户的详细信息 代码实现 /crawler/main.go package main import ( & ...