编写你的第一个 Django 程序 第4部分 本教程上接 教程 第3部分 。我们将 继续开发 Web-poll 应用并且关注在处理简单的窗体和优化我们的代码。...现在,让我们来创建一个 Django 视图来处理提交的数据。 记得吗?在 教程 第3部分 中,我们为 polls 应用创建了一个 URLconf 配置中包含有这一行代码: url(r'^(?...return HttpResponseRedirect(reverse('polls:results', args=(p.id,))) 在这代码中有些内容还未在本教程中提到过: request.POST...在本例中,我们使用了教程 第3部分中的 URLconf 配置, reverse() 将会返回类似如下所示的字符串 '/polls/3/results/' … 在此 3 就是 p.id 的值。...index() 用于显示 polls 列表的 index() 视图 (也在教程 第3部分中),也是存在类似的问题。
关键字参数由正则表达式匹配的命名组组成,但是可以被django.conf.urls.url()的可选参数kwargs覆盖。...django.conf.urls.url() 函数可以接收一个可选的第三个参数,它是一个字典,表示想要传递给视图函数的额外关键字参数。...在下面的例子中,我们将讨论在两个不同的地方部署教程中的polls 应用,这样我们可以为两种不同的用户(作者和发布者)提供相同的功能。...当前应用还可以通过reverse() 函数的一个参数手工设定。 如果没有当前应用。Django 将查找一个默认的应用实例。...如果你只是传递3个参数:include(polls_patterns, 'polls', 'author-polls'),Django 不会抛出一个错误,但是根据include() 的功能,’polls
关键字参数由与正则表达式相匹配的命名组组成,并且这些关键字参数可以被django.conf.urls.url()的可选参数kwargs覆盖。...django.conf.urls.url() 函数可以接收一个可选的第三个参数,它是一个字典,表示想要传递给视图函数的额外关键字参数。...在下面的例子中,我们将讨论在两个不同的地方部署教程中的polls应用,这样我们可以为两种不同的用户(作者和发布者)提供相同的功能。...当前应用还可以通过reverse() 函数的一个参数手工设定。 如果没有当前应用。Django 将查找一个默认的应用实例。...如果你只是传递3个参数:include(polls_patterns, 'polls', 'author-polls'),Django 不会抛出一个错误,但是根据include() 的功能,'polls
_404, render from django.urls import reverse from .models import Choice, Question # ... def vote(request...return HttpResponseRedirect(reverse("polls:results", args=(question.id,))) 以上代码中有些内容还未在本教程中提到过: • request.POST...是一个类字典对象,让你可以通过关键字的名字获取提交的数据。...在本例中,使用在 教程第 3 部分 中设定的 URLconf, reverse() 调用将返回一个这样的字符串:"/polls/3/results/" 当有人对Question进行投票后, vote()...出于本教程的目的,我们使用了一个名为“background.png”的文件,它的完整路径为“polls/static/polls/images/background.png”。
继上篇 django2.0入门教程第三节,介绍了django2.0的视图views和模板template, 本节介绍如何在前台进行投票。...:vote' question.id %}, 即表示访问polls/views.py的vote方法,并携带问题id作为参数。...import HttpResponse, HttpResponseRedirect from django.urls import reverse from .models import Question...import HttpResponseRedirect from django.urls import reverse from django.views import generic from .models...入门教程不会对代码进入深入的讲解,先大致了解其作用即可,后续再逐个模块进行解析 源码下载 相关源码包 如果对django2.0教程感兴趣,请关注我的简书,持续更新中...
目录[-] 本教程接Part3开始。继续网页投票应用程序,并将重点介绍简单的表单处理和精简代码。...一个简单表单 更新一下在上一个教程中编写的投票详细页面的模板polls/detail.html,让它包含一个HTML 元素: # polls/templates/polls/detail.html...现在,创建一个Django视图来处理提交的数据,在Part3中已经创建了一个URLconf ,包含这一行: # polls/urls.py url(r'^(?...HttpResponseRedirect只接收一个参数:用户将要被重定向的URL; 在这个例子中,HttpResponseRedirect的构造函数中使用reverse()函数。...在本例中,使用在Part3中设定的URLconf,reverse()调用将返回一个这样的字符串:'/polls/3/results/'。
为了避免影响原有的案例,现在新建一个应用polls2,然后在polls2应用中,完成前后端分离的应用,同时也体现了django的可插拔应用设计。...创建新的应用polls2 1.创建polls2 django-admin startapp polls2 2.修改settings.py文件 注册应用到INSTALLED_APPS INSTALLED_APPS...'polls2', # 新增 ] 3.修改polls2下的views.py文件 新增 from django.http import JsonResponse from django.shortcuts...由于JsonResponse序列化的是一个列表而不是字典,所以需要指定safe参数的值为False才能完成对subjects的序列化,否则会产生TypeError异常。...步骤如下: 1.创建应用polls2 2.在settings.py中注册polls2 3.在polls2的views.py中添加视图函数 4.在urls.py中添加路由 5.运行测试 6.基于
1 编写一个简单的表单 1.1 模版中新增表单 更新一下在上一个教程中编写的投票详细页面的模板 (“polls/detail.html”) ,增加一个 HTML 元素: {{ question.question_text..._404, render from django.urls import reverse from .models import Choice, Question # ... def vote(request...return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) 1.3 重定向的 results 页面增加显示 还是在视图中处理...这些视图反映基本的 Web 开发中的一个常见情况:根据 URL 中的参数从数据库中获取数据、载入模板文件然后返回渲染后的模板。...3.基于 Django 的通用视图引入新的视图。
path() argument: view 当 Django 找到匹配的模式时,它调用指定的视图函数,第一个参数是 HttpRequest 对象,从路由中“捕获”的任何值都是关键字参数。...path() argument: kwargs 可以在字典中将任意关键字参数传递给目标视图。在本教程中,我们不会使用 Django 的此功能。...使用尖括号“捕获”URL 的一部分,并将其作为关键字参数发送给视图函数。...为方便起见,让我们使用 Django 自己的数据库 API,我们在教程 2 中进行介绍。...return HttpResponseRedirect(reverse('polls:results', args=(question.id,))) 现在,创建一个 polls/results.html
这个教程是为了 Django 2.1 写的,它支持 Python 3.5 和后续版本。如果 Django 的版本不匹配,你可以通过页面右下角的版本切换器切换到对应你版本的教程,或更新至最新版本。...从哪里获得帮助: 如果你在阅读或实践本教程中遇到困难, 请发消息给 django-users 或加入 #django on irc.freenode.net 来和其他的 Django 用户交流,他们也许能帮到你...page=3 时,也只会尝试匹配 myapp/。...path() 参数: view 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。...path() 参数: kwargs 任意个关键字参数可以作为一个字典传递给目标视图函数。本教程中不会使用这一特性。
编写你的第一个 Django 程序 第3部分 本教程上接 教程 第2部分 。我们将继续 开发 Web-poll 应用并且专注在创建公共界面 – “视图 (views )”。...如果使用简单的正则捕获,将按顺序位置传参数;如果按命名的正则捕获,将按关键字传参数值。 有关这一点我们会给出一个例子。 url() 参数: kwargs 任意关键字参数可传一个字典至目标视图。...在本教程中,我们并不打算使用 Django 这一特性。 url() 参数: name 命名你的 URL ,让你在 Django 的其他地方明确地引用它,特别是在模板中。...- 这就是 Django 知道怎么找到 polls 模板的原因,即使我们 没有修改 TEMPLATE_DIRS, 还是如同在 教程 第2部分 那样。...', {'poll': poll}) get_object_or_404() 函数需要一个 Django 模型类作为第一个参数以及 一些关键字参数,它将这些参数传递给模型管理器中的 get() 函数。
让我们开始Django文档教程中的投票案例吧。 可以在https://docs.djangoproject.com/zh-hans/4.2/intro/tutorial01/ 查看原教程。...("", views.index, name="index"), ] 3.为了让polls/urls.py在项目中生效,需要在根URL配置中添加。...page=3时,也只会尝试匹配myapp/。...view:当 Django找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest对象作为视图函数的第一个参数,被“捕获”的参数以关键字参数的形式传入。...kwargs:任意个关键字参数可以作为一个字典传递给目标视图函数。本教程中不会使用这一特性。 name:为你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。
目录[-] 本教程上接教程Part4。 前面已经建立一个网页投票应用,现在将为它创建一些自动化测试。 自动化测试简介 什么是自动化测试 测试是检查你的代码是否正常运行的行为。测试也分为不同的级别。...import timezone In [3]: from polls.models import Question # 创建一个pub_date在30天之后的Question实例 In [4]: future_question.../'获取一些内容 >>> # 通过使用'reverse()'方法,而不是URL硬编码 >>> from django.urls import reverse >>> response = client.get...将下面的代码添加到polls/tests.py: # polls/tests.py from django.core.urlresolvers import reverse def create_question...当你对Django 视图的测试感到满意后,请阅读本教程的第6部分来了解静态文件的管理。
本教程是针对 Django 3.0 编写的,该版本支持 Python 3.6 和更高版本 创建项目 如果这是你第一次使用 Django 的话,你需要一些初始化设置。...在这个教程中,我们将在你的 manage.py 同一级目录下创建投票应用。这样它就可以作为顶级模块导入,而不是 mysite 的子模块。...page=3 时,也只会尝试匹配 myapp/。...path() 参数:view¶ 当 Django 找到了一个匹配的准则,就会调用这个特定的视图函数,并传入一个 HttpRequest 对象作为第一个参数,被“捕获”的参数以关键字参数的形式传入。...path() 参数:kwargs¶ 任意个关键字参数可以作为一个字典传递给目标视图函数。本教程中不会使用这一特性。
如果没有安装,你会得到一个错误,提示No module named django。 本教程是为Django 1.10和Python 3.4或更高版本编写的。...注意: 在给项目命名的时候必须避开Django和Python的保留关键字。比如“django”(它会与Django本身冲突)或“test”(它与一个内置的Python包冲突)。...page=3, regex也只尝试匹配myapp/ url() 参数:view 当正则表达式匹配到某个条目时,自动将封装的HttpRequest对象作为第一个参数,正则表达式“捕获”到的值作为第二个参数...如果是简单捕获,那么捕获值将作为一个位置参数进行传递,如果是命名捕获,那么将作为关键字参数进行传递。 url() 参数:kwargs 任意数量的关键字参数可以作为一个字典传递给目标视图。...Part3-视图和模板 Django 1.10中文文档-第一个应用Part4-表单和通用视图
附加后一个列表到前一个列表 Fruits[0] 根据索引获得指定项 .remove(xx),.insert(index, xx) 根据索引删除指定项;插入某项到指定位置 +, * 合并列表和复制列表成员 .reverse...= 列表比较 range(7),range(-5,5,2) 生成数字列表,参数分别为:初始值,结束值,步长 字典相关操作 操作 解释或示例 创建字典 person = {'xionger':'2b'...students" results=cursor.execute(sql) all_students=results.fetchall() Debug 通过TraceBack栈轨迹来查找错误,比如TypeError...写第一个页面 polls/views.py from django.http import HttpResponse def index(request): return HttpResponse...polls/urls.py from django.conf.urls import url from . import views urlpatterns = [ url(r'^$',
本教程提供URLconfs基本使用,更多信息请参考django.url 编辑视图 下面,让我们打开polls/views.py文件,添加下列代码: # polls/views.py def detail.../detail.html', {'question': question}) get_object_or_404() 函数将一个Django模型作为它的第一个参数,任意数量的关键字参数作为它的第二个参数...,它会将这些关键字参数传递给模型管理器中的get() 函数。...URL name的命名空间 教程中的这个项目只有一个应用polls。在真实的Django项目中,可能会有五个、十个、二十个或者更多的应用。 Django如何区分它们URL的名字呢?...Part3-视图和模板 Django 1.10中文文档-第一个应用Part4-表单和通用视图
=date(2005, 5, 6)), question__startswith='Who') #错误的做法,代码将关键字参数放在了Q()对象的前面。...Q 对象 (django.db.models.Q) 对象用于封装一组关键字参数。这些关键字参数就是上文“字段查询” 中所提及的那些。...大体上可以翻译成这个SQL: SELECT * from polls WHERE question LIKE 'Who%' AND (pub_date = '2005-05-02' OR pub_date...= '2005-05-06') 查询函数可以混合使用Q 对象和关键字参数。...所有提供给查询函数的参数(关键字参数或Q 对象)都将"AND”在一起。但是,如果出现Q 对象,它必须位于所有关键字参数的前面。
[1-9]|[1-2][0-9]|3[0-1])/$', views.pattern3), ] 最后值得注意的是在views函数中的参数是可以使用默认参数的,以及可以使用正则表达式进行不捕获参数的设置(...可在嵌套参数中使用),如语法(?...‘polls:index’) to resolve, Django splits the fully qualified name into parts and then tries the following... lookup: First, Django looks for a matching application namespace (in this example, ‘polls’)... called ‘polls’).
二、可能出错的原因 这个错误通常表明你在调用某个函数或类时,传入了一个它不支持的关键字参数axis。在Python中,axis参数常用于NumPy和Pandas等库,用于指定操作的轴(例如行或列)。...然而,并非所有的函数或类都支持这个参数。如果你错误地将axis参数传递给了一个不接受它的函数或类,就会引发这个错误。...FictitiousImputer类的初始化方法(init)可能不接受axis参数。...这个类不接受axis参数,因为它默认就是按列(即axis=0)进行操作的: from sklearn.impute import SimpleImputer # 将DataFrame转换为NumPy...使用示例代码:很多库都提供了示例代码和教程,这些资源可以帮助你更好地理解和使用库。 备份数据:在填补缺失值之前,最好先备份你的原始数据,以防万一填补过程中出现问题导致数据丢失或损坏。
领取专属 10元无门槛券
手把手带您无忧上云