Python-Django学习笔记(四)-views的编写以及urls分发器的配置
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分发器的配置的更多相关文章
- python Django 学习笔记(四)—— 使用MySQL数据库
1,下载安装MySQLdb类库 http://www.djangoproject.com/r/python-mysql/ 2,修改settings.py 配置数据属性 DATABASES = { 'd ...
- Python & Django 学习笔记
最近在学校Python和Django.在学习中遇到了种种的问题,对于一个新手来说,下面的问题可能都会遇到.希望能帮助到那些和我一样的人!!0.python-dev安装(ubuntu) apt-get ...
- python Django 学习笔记(六)—— 写一个简单blog做增删改练手
简单效果图 1,创建一个项目myblog 可参考这里 myblog/ manage.py myblog/ __init__.py settings.py urls.py wsgi.py 2,创建blo ...
- python Django 学习笔记(一)—— Django安装
注:本人python版本2.7.5 ,win7系统 安装Django https://www.djangoproject.com/download/ 官方下载Django-1.5.5.tar.gz 1 ...
- python Django 学习笔记(二)—— 一个简单的网页
1,创建一个django项目 使用django-admin.py startproject MyDjangoSite 参考这里 2,建立视图 from django.http import HttpR ...
- Python——Django学习笔记
Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...
- python Django 学习笔记(三)—— 模版的使用
模版基本介绍 模板是一个文本,用于分离文档的表现形式和内容. 模板定义了占位符以及各种用于规范文档该如何显示的各部分基本逻辑(模板标签). 模板通常用于产生HTML,但是Django的模板也能产生任何 ...
- python Django 学习笔记(五)—— Django admin自动管理界面
1,激活管理界面 修改settings.py MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.c ...
- Python——追加学习笔记(四)
函数 1.python里的函数可以返回一个值或者对象,知识在返回一个容器对象的时候有点不同,看起来像是能返回多个对象. >>> def bar(): ... return 'abc' ...
随机推荐
- 跨域的两种解决方法jsonp和CORS
1.跨域 什么是跨域? 当你请求的url是不同源的数据的时候,浏览器一般会抛出请求跨域的错误,如下图: 造成跨域的原因? 即你违反了浏览器的同源策略的限制=>阻止一个域的js脚本和另外一个域的内 ...
- 论文翻译:Speech Enhancement Based on the General Transfer Function GSC and Postfiltering
论文地址:基于通用传递函数GSC和后置滤波的语音增强 博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/12232341.html 摘要 在语音增强应 ...
- Python3正则去掉HTML标签
Python3正则去掉HTML标签 1.引用一段代码 import re html = '<pre class="line mt-10 q-content" accuse=& ...
- android手机遍历安装应用
/** * 遍历程序列表,判断是否安装安全支付服务 * * @return */ public boolean isMobile_spExist() { PackageManager manager ...
- 基于Travis CI实现 Gitbook在 Github 和 Coding 的同步部署
前言 最近发现自己的博客在使用vpn的情况下打开很慢,百度站点也抓取失败,于是将自己的博客借助hexo-deploy 插件很容易同步部署到了coding上.只需要在你的hexo配置文件_config. ...
- C语言低级I/O(UNIX接口)
头文件说明 以下各函数均在<unistd.h>中 flags的各个值定义于<fcntl.h>中 BUFSIZ定义于<stdlib.h>中 (似乎<stdio. ...
- mybatis 通过配置父类数据源连接和关闭数据,进行junit单元测试
来源:https://blog.csdn.net/Bigbig_lyx/article/details/80646005 解决问题,单元测试没经过单独配置,每个测试方法中要添加配置数据源 一:配置父类 ...
- NetCore3.0实现自定义IOC容器注入
在之前的ASP.NET MVC实现依赖注入一文中,通过替换默认的ControllerFactory来达到对Controller生命周期的拦截,实现自定义的对象注入,在NetCore3.0中需要重新实现 ...
- [PHP] 使用PHP在mongodb中进行count查询
在php7的mongodb扩展中,当要查询某个集合在某个条件下的数据个数时,可以使用下面的方式来获取. 比原生的命令要复杂许多 比旧版mongo扩展也复杂许多 需要使用到MongoDB\Driver\ ...
- OpenResty 在马蜂窝广告监测中的应用
马蜂窝技术原创内容,更多干货请订阅公众号:mfwtech 广告是互联网变现的重要手段之一. 以马蜂窝旅游 App 为例,当用户打开我们的应用时,有可能会在首屏或是信息流.商品列表中看到推送的广告.如果 ...