Django 2.0 学习(03):Django视图和URL(下)
接上篇博文,继续分析Django基本流程。
编写第一个(view)视图函数
1、打开文件polls/views.py,输入下面的Python代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello World! You're at the polls index.")
2、上面是一个最简单的Django视图函数,为了调用这个视图函数,我们需要为它做一个URL映射;在目录polls下面创建文件urls.py,并在polls/urls.py文件中输入下面代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
3、接下来,需要将poll.urls指向根URLconf模块,在项目的mysite/urls.py文件添加django.urls.include,并且在urlpatterns列表中添加一个include(),如下所示代码:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]
4、现在我们可以来确认上面的操作是否正确工作,在mysite项目目录下运行下面命令:
python manage.py runserver
5、在浏览器中打开URL,我们将会看到"Hello World! You're at the polls index.",这个就是我们在index视图函数中定义的内容;
我们可以看到在浏览器中访问的结果也是正确的:

补充讲解
在这里,我们补充讲解一个函数:path,详细信息可以参考
path函数传递四个参数,两个必须参数:route和view;两个可选参数:name和kwargs
- path() 参数:route
route是一个包含URL pattern的字符串,当处理一个request请求的时候,Django从urlpatterns 列表中的第一个开始匹配,直到匹配到一个相符的URL;patterns不会搜索request请求的方法(GET、POST)或者domain name,例如下面的request请求https://www.example.com/myapp/,URLconf查找的是myapp/;在request请求https://www.example.com/myapp/?page=3,中URLconf依然查找的是myapp; - path()参数:view
当Django匹配到一个URL pattern,就会调用它对应的视图函数,该视图函数的第一各参数必须是request; - path()参数:name和kwargs
目前不做讲解,在后面部分的使用过程中逐步讲解;
Django 2.0 学习(03):Django视图和URL(下)的更多相关文章
- Django 2.0 学习(07):Django 视图(进阶-续)
接Django 2.0 学习(06):Django 视图(进阶),我们将聚焦在使用简单的表单进行处理和精简代码. 编写简单表单 我们将用下面的代码,来替换之前的detail模板("polls ...
- Django 2.0 学习(06):Django 视图(进阶)
概述 Django中的特方法,该方法代表了Django的Web页面,并且视图具有特定的模板.以博客应用为例进行说明,在博客应用中应该包含下面的视图: 博客主页:显示最近的一些记录: 详细页面:单个详细 ...
- Django 2.0 学习(04):Django数据库
数据库设置/配置 打开mysite/settings.py,我们会发现Django是用的是默认的数据库SQLite,如下图所示: Django也是支持其它数据库的,比如PostgreSQL.MySQL ...
- Django 2.0 学习(12):Django 模板语法
Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }} 在Django模板中遍历复杂数据结构的关键是句点字 ...
- Django 2.0 学习(11):Django setuptools
应用打包 当前状态的Python包与各种工具有点儿混乱,本结我们将学习使用setuptools来构建应用包.该工具是强烈推荐使用的打包工具,之后我们也会使用pip去安装和卸载它. Python打包指的 ...
- Django 2.0 学习(08):Django 自动化测试
编写我们的第一个测试 确定bug 幸运的是,在polls应用中存在一个小小的bug急需修复:无论Question的发布日期是最近(最后)的日期,还是将来很多天的日期,Question.was_publ ...
- Django 2.0 学习(01):Django初识与安装
Django(Python Web框架) Django是一个开放源代码的Web框架,用Python写的.采用了MTV的框架模式,即模型M,模板T和视图V.它最初被开发是用来管理以新闻内容为主的网站,即 ...
- Django 2.0 学习
Django django是基于MTV结构的WEB框架 Model 数据库操作 Template 模版文件 View 业务处理 在Python中安装django 2.0 1 直接安装 pip inst ...
- Django 2.0 学习(19):Django 分页器
Django 分页器 要使用Django实现分页功能,必须从Django中导入Paginator模块(painator - 分页器) views.py from django.shortcuts im ...
随机推荐
- Redis进阶实践之十三 Redis的Redis-trib.rb文件详解
一.简介 事先说明一下,本篇文章不涉及对redis-trib.rb源代码的分析,只是从使用的角度来阐述一下,对第一次使用的人来说很重要.redis-trib.rb是redis官方推出的管理re ...
- [翻译]编写高性能 .NET 代码 第二章:垃圾回收 基本操作
返回目录 基本操作 垃圾回收的算法细节还在不断完善中,性能还会有进一步的提升.下文介绍的内容在不同的.NET版本里会略有不同,但大方向是不会有变动的. 在.net进程里会管理2个类型的内存堆:托管和非 ...
- idea 打开自动编译以及查看Problem窗口
1.打开perference 2.选择Build-Compile-Make Project Automatically自动构建项目
- PAT乙级1065 map
思路:检查某个客人是否有伴侣,如果有,伴侣是否也出现即可. 注意:0个单身狗的时候,不要输出多余的'\n', 否则会出现格式错误. AC代码 #include <stdio.h> #inc ...
- nyoj49 开心的小明 01背包
思路:dp(i, j)表示用金钱j去买前i个物品能得到的最大价值.转移方程dp(i, j) = max{dp(i-1, j), dp(i-1, j-p[i]) + p[i]*w[i]}. AC代码 # ...
- C. Polycarp at the Radio
这题题意不太好理解,但是可以通过样例推.主要考察思维的全面性,注意把b[m]特殊处理下. AC代码: #include<cstdio> #include<cstring> co ...
- DataTable筛选某列最大值
dt.Compute("max(列名)",""); Compute函数的参数就两个:Expression,和Filter. Expresstion是计算表达式, ...
- 转 Caffe学习系列(3):视觉层(Vision Layers)及参数
所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数 本文只讲解视觉层(Vision La ...
- R︱shiny实现交互式界面布置与搭建(案例讲解+学习笔记)
要学的东西太多,无笔记不能学~~ 欢迎关注公众号,一起分享学习笔记,记录每一颗"贝壳"~ --------------------------- 看了看往期的博客,这个话题竟然是第 ...
- linux之x86裁剪移植---grub 识别文件系统
grub主要作用是找到内核(kernel)与部分核心模块的镜像(initrd,主要是sata硬盘驱动之类的模块),把它们导入内存中运行.kernel与initrd放在文件系统中,因此grub必须有识别 ...