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' ...
随机推荐
- How to Convert a Class File to a Java File?
What is a programming language? Before introducing compilation and decompilation, let's briefly intr ...
- SQLPLUS ed无法调出编辑面板 SP2-0107:无须保存
现象: 重新启动oracle启动sqlplus,首先执行ed命令时出错,没有调出编辑命令的文件: SQL> edSP2-0107: 无须保存. 分析:出错的原因可能是临时编辑文件中没有需要执行的 ...
- MySQL 数据库的提速器-写缓存(Change Buffer)
写缓存(Change Buffer) 是一种特殊的数据结构,用于在对数据变更时,如果数据所在的数据页没有在 buffer pool 中的话,在不影响数据一致性的前提下,InnoDB 引擎会将对数据的操 ...
- [Wpf学习] 2.代码导入Xaml
废话不说,直接上代码 using System.ComponentModel; using System.Runtime.CompilerServices; using System.Windows; ...
- Oracle导出警告“EXP-00003: 未找到段 (0,0) 的存储定义”解决
环境:CentOS7.4 Oracle11.2.0.4(搭建rac集群) 问题描述:在使用exp命令执行导出的时候,部分表提示“EXP-00003: 未找到段 (0,0) 的存储定义”警告. 问题 ...
- everspin最新1Gb容量扩大MRAM吸引力
everspin提供了8/16-bit的DDR4-1333MT/s(667MHz)接口,但与较旧的基于DDR3的MRAM组件一样,时序上的差异使得其难以成为DRAM(动态随机存取器)的直接替代品. ...
- 洛谷 P4298: bzoj 1143: [CTSC2008]祭祀
题目传送门:洛谷 P4298. 题意简述: 给定一个 \(n\) 个点,\(m\) 条边的简单有向无环图(DAG),求出它的最长反链,并构造方案. 最长反链:一张有向无环图的最长反链为一个集合 \(S ...
- O2O外卖玩众包 开放平台难解标准之痛
开放平台难解标准之痛" title="O2O外卖玩众包 开放平台难解标准之痛"> 有一种怪现象一直是国内互联网企业摆脱不了的附骨之疽--不管规模大小,总是削尖了脑 ...
- MATLAB中冒号的用法解析
MATLAB中冒号的用法解析 1.: 表示所有的意思. (1)如:a(1,:) 表示a的第1行,示例: 结果: 同样的如果a(2,:)表示a的第2行 (2)反过来,a(:,2) 表示a的第3列,示例: ...
- KINDLE 小说下载--超级书库
网址:https://shuayouxi.cn/