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' ...
随机推荐
- Sparc V8
Sparc V8指令 在sparc V8手册中p83(Table A-1 Mapping of Synthetic Instructions to SPARC Instructions)有合成指令sy ...
- bash通配符 shell正则表达式
在linux中 通配符是系统命令使用,一般用来匹配文件名或者什么的用在系统命令中. 通配符是系统级别的,通配符多用在文件名上,比如查找find,ls,cp,rm 正则表达式是操作字符串,以行尾单位来匹 ...
- Django请求过程
- 杭电-------2046骨牌铺方格(C语言写)
#include<stdio.h> ] = { }; long long recrusion(int n) { || a[n]>) { return a[n]; } ) + recr ...
- React之this绑定
一.首先看一下没有绑定this的情况 class App extends React.Component{ constructor(props){ super(props) console.log(' ...
- RaspberryPi 3b+ 安装OpenWrt教程
layout: post title: "RaspberryPi 3b+ 安装OpenWrt教程" date: 2019-09-28 22:00:00 +0800 categori ...
- 实训第八天 有关python orm 的学习记录 常用方法01
沿用第七天的数据库,数据库现在是这样的: 配置好主路由include子路由 子路由引入views 在views页面定义test测试请求如下: def test(request): # 1.all()方 ...
- 浅析word2vec(一)
1 word2vec 在自然语言处理的大部分任务中,需要将大量文本数据传入计算机中,用以信息发掘以便后续工作.但是目前计算机所能处理的只能是数值,无法直接分析文本,因此,将原有的文本数据转换为数值数据 ...
- ES6 - 基础学习(6): 对象扩展
对象对于JavaScript至关重要,在ES6中对象又加了很多新特性. 对象字面量:属性的简洁表示法 ES6允许对象的属性直接写变量,这时候属性名是变量名,属性值是变量值. let attr1 = & ...
- git命令小汇总和github
Git 简介 是什么 Git 也是一个版本控制管理软件 有什么用,可以解决什么问题 保存历史记录 多人协作 有了 SVN,为啥要学 Git Git 火 Git 相对于 SVN 来说,更强大,用户也非常 ...