上篇博文,继续分析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(下)的更多相关文章

  1. Django 2.0 学习(07):Django 视图(进阶-续)

    接Django 2.0 学习(06):Django 视图(进阶),我们将聚焦在使用简单的表单进行处理和精简代码. 编写简单表单 我们将用下面的代码,来替换之前的detail模板("polls ...

  2. Django 2.0 学习(06):Django 视图(进阶)

    概述 Django中的特方法,该方法代表了Django的Web页面,并且视图具有特定的模板.以博客应用为例进行说明,在博客应用中应该包含下面的视图: 博客主页:显示最近的一些记录: 详细页面:单个详细 ...

  3. Django 2.0 学习(04):Django数据库

    数据库设置/配置 打开mysite/settings.py,我们会发现Django是用的是默认的数据库SQLite,如下图所示: Django也是支持其它数据库的,比如PostgreSQL.MySQL ...

  4. Django 2.0 学习(12):Django 模板语法

    Django 模板语法 一.模板 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法 模板语法变量:{{ }} 在Django模板中遍历复杂数据结构的关键是句点字 ...

  5. Django 2.0 学习(11):Django setuptools

    应用打包 当前状态的Python包与各种工具有点儿混乱,本结我们将学习使用setuptools来构建应用包.该工具是强烈推荐使用的打包工具,之后我们也会使用pip去安装和卸载它. Python打包指的 ...

  6. Django 2.0 学习(08):Django 自动化测试

    编写我们的第一个测试 确定bug 幸运的是,在polls应用中存在一个小小的bug急需修复:无论Question的发布日期是最近(最后)的日期,还是将来很多天的日期,Question.was_publ ...

  7. Django 2.0 学习(01):Django初识与安装

    Django(Python Web框架) Django是一个开放源代码的Web框架,用Python写的.采用了MTV的框架模式,即模型M,模板T和视图V.它最初被开发是用来管理以新闻内容为主的网站,即 ...

  8. Django 2.0 学习

    Django django是基于MTV结构的WEB框架 Model 数据库操作 Template 模版文件 View 业务处理 在Python中安装django 2.0 1 直接安装 pip inst ...

  9. Django 2.0 学习(19):Django 分页器

    Django 分页器 要使用Django实现分页功能,必须从Django中导入Paginator模块(painator - 分页器) views.py from django.shortcuts im ...

随机推荐

  1. docker容器安装及使用技巧

    关于docker前言 A)首先是关于虚拟化 虚拟化我们可以简单的理解为一种资源管理方式.有如下几种虚拟化的方式: 1.完全虚拟化:对底层硬件实现完全的虚拟.例如:Vmware Workstation ...

  2. Linux定时任务深入学习

    为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...

  3. (MonoGame从入门到放弃-3)-放弃MonoGame

    又一段时间过去了,这一章没内容了.我真的已经放弃MonoGame的学习了,MonoGame用起来感觉就是在自己实现2d游戏引擎一样,好多现代游戏引擎有的内容都没有...,我只是想做游戏,而不是给引擎添 ...

  4. java数组:去重,增加,删除元素

    import java.util.List; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; p ...

  5. 终于,我也要出一本C#的书了 - 我的写作历程与C#书单推荐

    我之前的面试题停了很久,是因为 - 我写书去了. 前言 我于2012年3月开始工作,到现在马上就满六年了.这六年里,我从一个连Sql server是什么都不知道,只会写最简单的c#的程序员开始做起,一 ...

  6. python每天一个小练习-列表元素非唯一

    列表元素非唯一 来源 checkio 需求 你将得到一个含有整数(X)的非空列表.在这个任务里,你应该返回在此列表中的非唯一元素的列表.要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表 ...

  7. java字符流

    网上有很多地方说inputStreamReader和outStreamWriter.BufferedReader和BufferedWriter都是字符流.不过也有地方说inputStreamReade ...

  8. Linux以列表格式显示块设备

    Linux以列表格式显示块设备 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MO ...

  9. Tomcat中的Context.xml的<Loader delegate="true"/>

    Tomcat中的Context.xml的<Loader delegate="true"/> 1.<Loader delegate="true" ...

  10. unix时间戳转换成标准时间(c#)

    //---unix时间戳转换成标准时间(c#)---//     /*     string timeStamp = "1144821796";     DateTime dtSt ...