上篇博文,继续分析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. nxlog4go 按天或按文件大小分割日志

    Building a new rotate file writer: rfw := l4g.NewRotateFileWriter("_rfw.log").SetMaxSize(1 ...

  2. .NET平台开源项目速览(20)Newlife.Core中简单灵活的配置文件

    记得5年前开始拼命翻读X组件的源码,特别是XCode,但对Newlife.Core 的东西了解很少,最多只是会用用,而且用到的只是九牛一毛.里面好用的东西太多了. 最近一年时间,零零散散又学了很多,也 ...

  3. CentOS7上安装FTP服务

    ---------------------------------------------------------------------------------------------------- ...

  4. java遍历的优化

    说明:这是在面试中面试官出的题.虽然是常见的优化问题,但这种经验的确很有用.感慨之余,分享出来,以此共勉. 场景:现有List<PersonA>,List<PersonB>,P ...

  5. MS SQL xp_instance_regwrite设置注册表疑惑

      以前写过一篇博文"MS SQL 日志记录管理",里面介绍了如何设置SQL Server的错误日志的最大归档数量,如果在SSMS的UI界面设置,可以从"Manageme ...

  6. 理解Annotation

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

  7. vxWorks/BootROM Imageq启动顺序详解

    vxWorks/BootROM Imageq启动顺序详解 VxWorks image     分为在ROM中运行和在RAM中运行两种,两者启动顺序的区别在于sysInit()函数的调用,该函数在RAM ...

  8. 引导加载程序之争: LILO 和 GRUB

    在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序.通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU ...

  9. 百度地图JavaScript API本地搜索的结果面板

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  10. MyEclipse完善提示配置

    MyEclipse完善提示配置 一般的,MyEclipse中的提示以"."后进行提示,不是很完善.现在,修改提示配置,让提示更完善! 具体操作如下: 1.打开MyEclipse,单 ...