首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django快速入门——投票程序(7) 自定义后台

自定义后台 自定义表单 通过admin.site.register(Question)注册Question模型,Django会创建默认的表单在后台显示。...不过,现在选项占用的区域太大了。Django 提供了一种表格式的单行显示关联对象的方法。...自定义后台更改列表 现在投票的后台页看起来很不错,让我们对问题列表页面进行一些调整——改成一个能展示系统中所有投票的页面。默认情况下,Django 显示每个对象的 str() 返回的值。...为此,使用 list_display属性,它是一个包含要显示的字段名的元组,在更改列表页中以列的形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):...list_display = ["question_text", "pub_date", "was_published_recently"] 你可以通过在该方法上(在 polls/models.py 中

24240

35.Django2.0文档

也就是说,block 标签不仅挖了一个要填的坑,也定义了在 父 模板中这个坑所填充的内容。如果模 板中出现了两个相同名称的 {% block %} 标签,父模板将无从得知要使用哪个块的内容。...该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。   V:代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。  ...相对列表来说,有些时候我们更需要获取单个的对象, `` get()`` 方法就是在此时使用的: ? 这样,就返回了单个对象,而不是列表(更准确的说,QuerySet)。...我们可以对任意字段进行排序,如果需要以多个字段为标准进行排序(第二个字段会在第一个字段的值相同的情况下被使用到),使用多个参数就可以了,如下: ?...例如,我们的book数据库膨胀到拥有数千条publishers的记录,以致于book的添加页面装载时间较久,因为它必须把每一个publisher都装载并显示在`` 下拉框`` 中。

11.3K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Django(1)初识Django「建议收藏」

    模型:数据存取层,处理与数据相关的所有事物,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。 模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。...URL设计:开发者可以设计任意的URL(网站地址),而且还支持使用正则表达式设计 模板系统:提供可扩展的模板语言,模板之间具有可继承性 表单处理:可以生成各种表单模型,而且表单具有有效性检验功能 Cache...,系统扩展性强 Django2的新特性 简化URL路由语法:使得Django.urls.path()方法的语法更简单。...()现在返回一个列表,包含插入失败的键值 视图类:ContextMixin,extra_context属性允许在View.as_view()中添加上下文 Pagination(分页):增加Paginator.get_page...()`,可以处理各种非法页面参数,防止异常 Templates(模板):提高Engine.get_default()在第三方模块的用途 Vaildators(验证器):不允许CharField及其子类的表单输入为空

    2.8K20

    众多Python Web框架比较,哪个适合你,你就用哪个!

    在这里,我们给这样的框架更高的分数:这些框架展示了如何在教程中创建整个应用程序,包括常见的配方或设计模式,以及超出职责范围(例如提供有关如何运行的详细信息) Python变体(如PyPy或IronPython...如果你对性能基准感到好奇,请查看TechEmpower正在进行的一系列试验,这些试验比较了各种任务中的多个Web框架,并将代码和方法发布到GitHub并进行不断的重新评估。...Django的文档站点从多个角度深入研究框架的各个方面。使用Python 3或其他语言,正确的安全性,实现常见的Web应用程序组件(如会话或分页),生成站点地图,它们都被覆盖。...这些系统使用Python类来定义模型,在Web2py中,使用构造函数(如define_table)来实例化模型。...所有关键的东西都适合单个(尽管很长)的网页。除此之外,还可以找到每个API的完整文档,如何在各种基础架构上进行部署的示例,内置模板语言的解释以及一系列常见配方。

    4.6K20

    关于“Python”的核心知识点整理大全55

    将显示所有主题的页面中的每个主题都设置为链接 在浏览器中查看显示特定主题的页面前,我们需要修改模板topics.html,让每个主题都链接 到相应的网页,如下所示: topics.html...现在,主题列 表中的每个主题都是一个链接,链接到显示相应主题的页面,如http://localhost:8000/topics/1/。...如果你刷新显示所有主题的页面,再单击其中的一个主题,将看到类似于图18-5所示的页面。 18.5 小结 在本章中,你首先学习了如何使用Django框架来创建Web应用程序。...在Django中,创建表单的最简单方式是使用ModelForm,它根据我们在第18章定义的模型中 的信息自动创建表单。...对于只是从服务 器读取数据的页面,使用GET请求;在用户需要通过表单提交信息时,通常使用POST请求。处理 所有表单时,我们都将指定使用POST方法。

    16610

    Django内置的通用类视图及实例

    None):返回该视图要显示的单个对象.如果提供了queryset,该queryset将作为对象的查询源,否则,将使用get_queryset().get_object()从视图的所有参数中查找pk_url_kwarg...方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类)....显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单.

    2.9K40

    Django视图:构建动态Web页面的核心技术

    Django,作为一个强大的Python Web框架,提供了一套完整的工具来构建这些动态页面。在Django的架构中,视图(Views)是处理用户请求并生成响应的关键组件。...本文将深入探讨Django视图的工作原理,以及如何使用它们来构建动态Web页面。 1....错误处理 在Web开发中,错误处理是必不可少的。Django视图可以通过抛出异常来处理错误。...6.代码实现 为了更好地理解上述概念,下面是一个完整的示例代码,展示了如何在Django中创建一个简单的博客应用,包括视图、模板和表单处理。...通过本文的介绍,你应该对如何在Django中使用视图来处理请求、渲染模板、传递上下文数据、处理表单以及错误处理有了深入的理解。这些技能是构建复杂且功能丰富的Web应用的基础。

    14310

    Django视图:构建动态Web页面的核心技术

    Django,作为一个强大的Python Web框架,提供了一套完整的工具来构建这些动态页面。在Django的架构中,视图(Views)是处理用户请求并生成响应的关键组件。...视图可以是简单的函数,也可以是复杂的类,但它们的主要职责是处理输入(如表单数据)并返回输出(如网页)。...错误处理在Web开发中,错误处理是必不可少的。Django视图可以通过抛出异常来处理错误。...6.代码实现为了更好地理解上述概念,下面是一个完整的示例代码,展示了如何在Django中创建一个简单的博客应用,包括视图、模板和表单处理。...通过本文的介绍,你应该对如何在Django中使用视图来处理请求、渲染模板、传递上下文数据、处理表单以及错误处理有了深入的理解。这些技能是构建复杂且功能丰富的Web应用的基础。

    12110

    python面试题--1

    在Python中,迭代器用于迭代一组元素,如列表之类的容器。 17)什么是Python中的单元测试? Python中的单元测试框架称为unittest。...18)在Python中切片是什么? 从序列类型(如列表,元组,字符串等)中选择一系列项目的机制称为切片。 19)Python中的生成器是什么? 实现迭代器的方法称为生成器。...Xrange返回xrange对象,而range返回列表,并使用相同的内存,无论范围大小是多少。 25)Python中的module和package是什么? 在Python中,模块是构造程序的方式。...全局变量:仅在函数内引用的那些变量是隐式全局变量。 27)如何跨模块共享全局变量? 要在单个程序中跨模块共享全局变量,请创建一个特殊模块。在应用程序的所有模块中导入配置模块。...Flask脚本工作的常用方法是: 应用程序的导入路径 或者是Python文件的路径 39)解释如何在Flask中访问会话? 会话基本上允许您记住从一个请求到另一个请求的信息。

    6010

    37.Django1.11.6文档

    formset基类提供了一个get_form_kwargs方法。 该方法采用单个参数 - 表单中的表单的索引。 ...在视图中使用多个表单集 可以在视图中使用多个表单集, 表单集从表单中借鉴了很多方法 你可以使用 prefix 给每个表单字段添加前缀,以允许多个字段传递给视图,而不发生命名冲突 让我们看看可以怎么做 from...请注意,我们正在谈论这里的表单上的clean()方法,而较早的我们在一个字段上写了一个clean()方法。 在确定哪些地方进行验证时,保持领域和形式差异很重要。 字段是单个数据点,表单是字段的集合。...这是因为该中间模型的每个实例需要比可以在单个小部件中显示的更多的信息,并且多个小部件所需的布局将根据中间模型而变化。 但是,我们仍然希望能够在内联里编辑该信息。 ...相同的URLconf 中的多个管理站点 在同一个Django供电的网站上创建管理站点的多个实例很容易。 只需要创建AdminSite 的多个实例并将每个实例放置在不同的URL 下。

    24.4K80

    Django内置的通用类视图CBV及示例

    None):返回该视图要显示的单个对象.如果提供了queryset,该queryset将作为对象的查询源,否则,将使用get_queryset().get_object()从视图的所有参数中查找pk_url_kwarg...方法: get_success_url():决定在表单成功验证后重定向到的URL,默认返回success_url. form_valid(form):在表单验证成功后调用该方法(注意并没有对数据进行操作...,并重定向到get_success_url(),可以覆盖该方法在以上行为之间添加额外的动作.该方法必须返回一个HttpResponse. form_invalid(form):如果表单验证失败,则使用已填充的表单数据和错误信息重新渲染上下文...显示用于编辑现有对象的表单的视图,重新显示具有验证错误信息的视图,并且保存对象.这里使用从对象模型自动生成的表单(除非手动制定表单类)....显示确认页面并删除现有对象的视图.仅当请求方法为POST时,才会删除给定的内容.如果此视图是通过GET提取的,它将显示一个确认页面,其中包含POST到同一网址的表单.

    3.2K10

    Django之文件上传下载

    UploadedFile对象拥有下列属性和方法: HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart/form-data...在Django中我们可以采用Form类来处理表单,通过实例化处理和在模板中渲染,就可以轻松完成表单的需求。...如果要使用一个表单字段同时上传多个文件,需要设置字段HTML标签的multiple属性为True,如下所示: # forms.py from django import forms class FileFieldForm...图片上传到数据库并调用显示 在models.py中,需要建立模型,这里使用了ImageField字段,用来存储图片路径,这个字段继承了FileField字段,本质上是一样的。...显示图片(图片调用)   为了能够方便录入数据,我们使用django后台管理,创建管理页面。  python manage.py createsuperuser    根据提示进行创建。

    3.4K40

    关于“Python”的核心知识点整理大全56

    在3处,我们显示表单,从中可知Django使得完 成显示表单等任务有多简单:我们只需包含模板变量{{ form.as_p }},就可让Django自动创建显 示表单所需的全部字段。...在2处,我们定义了属性widgets。小部件(widget)是一个HTML表单元素,如单行文本框、 多行文本区域或下拉列表。通过设置属性widgets,可覆盖Django选择的默认小部件。...渲染页面以及处理表单数据时,都需要知道针对的是哪 个主题,因此我们使用topic_id来获得正确的主题(见1)。 在2处,我们检查请求方法是POST还是GET。...如果请求方法为POST,我们就对数据进行处理:创建一个EntryForm 实例,使用request对象中的POST数据来填充它(见4);再检查表单是否有效,如果有效,就设 置条目对象的属性topic,再将条目对象保存到数据库...图19-2 显示了页面new_entry。现在用户可以添加新主题,还可以在每个主题中添加任意数量的条目。 请在一些既有主题中添加一些新条目,尝试使用一下页面new_entry。

    14010

    Django 1.10中文文档-第一个应用Part7-自定义管理站点

    并且在字段数据很多时,还可以将表单分割成多个字段的集合: # polls/admin.py from django.contrib import admin from .models import Question...它让页面看起来像下面的样子: ? 添加关联对象 现在Question的管理页面有了,但是一个Question应该有多个Choices。而此时管理页面并没有显示。现在有两个方法可以解决这个问题。...Django默认只显示str()方法指定的内容。...如果我们想要同时显示一些别的内容,可以使用list_display属性,它是一个由多个字段组成的元组,其中的每一个字段都会按顺序显示在页面上,代码如下: # polls/admin.py class...你可以硬编码链接到指定对象的admin页面,使用任何你认为好的方法,用于替代这个app_list。

    3.6K60

    django之文件上传下载等相关

    {{ uf.as_p }}:这样一次性可以把表单里的所有字段给显示处理 显示结果: 上传 提交表单后: 提交表单 补充form显示单个元素: {{ field.label_tag...,就会在这里显示了 Django处理文件上传File Uploads HttpRequest.FILES 表单上传的文件对象存储在类字典对象request.FILES中,表单格式需为multipart...二、基于表单上传文件 在Django中我们可以采用Form类来处理表单,通过实例化处理和在模板中渲染,就可以轻松完成表单的需求,采用django的表单处理方式,能帮我们省去很多的工作,比如验证不能为空...如果是GET请求,就直接显示一个空表单,让用户输入。 注意我们必须向表单的构造器中传递request.FILES,这是文件数据绑定到表单的方法。...显示图片(图片调用)   为了能够方便录入数据,我们使用django后台管理,创建管理页面。

    3.1K30

    mezzanine,一个无敌的 Python 库!

    # 文件上传通常通过Mezzanine的管理界面进行,以下是如何在代码中引用已上传的文件 from mezzanine.core.models import File # 获取并显示所有已上传的文件...动态表单构建 Mezzanine支持动态创建表单,这允许用户在后台管理界面中轻松创建和管理自定义表单,无需编写任何代码。...# 示例代码通常不直接涉及到Python代码,因为这些功能通过Mezzanine的管理界面进行操作 # 以下是在模板中展示如何使用动态表单 {% load mezzanine_tags %} 在Django的settings.py中添加rest_framework到INSTALLED_APPS INSTALLED_APPS += ('rest_framework',) # 创建一个API...此外,其内置的多站点支持和SEO优化工具进一步增强了其在现代网站开发中的应用范围。Mezzanine是为那些寻求在Python环境中快速部署专业级网站和应用的开发者和组织的理想选择。

    18910

    Django学习之八:forms组件【对

    下面就来使用它的属性和方法吧: field.label 是label值,不包括label标签 field.label_tag() 就是一个返回label标签的方法,包含了label值;在渲染标签是指定参数...在python代码中打印form对象都是由包裹的,而template中使用是没有这些标签包裹的。...而且没通过的错误信息还用于渲染到表单页面中,提醒提交表单的用户错误。 除了form.errors存放全部的校验错误信息外。...至于两种Field在校验后,会将单个model对象(对于ModelChoiceField) 和 多个model对象(对于ModelMutipleChoiceField) 存入到cleand_data中。...ModelMutipleChoiceField和ModelChoiceField 对应的choice显示调用的queryset中model对象的__str__() 方法的结果,所以model定义时,约定都是要定义

    2.2K30

    Django之视图层与模板层

    会对它做进一步的处理与封装以便我们更为方便地提取数据,比如 对于form表单来说,提交数据的常用方法为GET与POST 1:如果表单属性method='GET',那么在提交表单时,表单内数据不会存放于请求体中...2:如果表单属性method='POST',那么在提交表单时,表单内的所有数据都会存放于请求体中,在发送给django 后会封装到request.body里,此时django为了方便我们提取数据,会.../form-data" 如果form表单提交数据是按照编码格式1,那么request.body中数据的格式类似于GET方法的数据格式,如 k1=v1&k2=v2,此时django会将request.body...':n}) # 第二种,使用locals()会将当前所在名称空间中所有的名字全部传递给html页面 2.5模板的继承和导入 在实际开发中,模板文件彼此之间可能会有大量的冗余代码,为此Django...2.5.1继承 如果你想使用某个已有的页面,首先你需要先在你想使用的页面上划定区域,在继承这个区域之后,你就可以使用划定的这个区域。

    9.2K10

    Django表单集合----Formset

    Formset(表单集)是多个表单的集合。Formset在Web开发中应用很普遍,它可以让用户在同一个页面上提交多张表单,一键添加多个数据,比如一个页面上添加多个用户信息。...initial 来显示formset,那么您需要在处理formset提交时传入相同的 initial ,以便formset检测用户更改了哪些表单。...,那空白表单可显示的数量取决于 extra 的数量,只要总表单数不超过 max_num 。...2、如果初始数据项的数量超过 max_num ,那么 max_num 的值会被无视,所有初始数据表单都会显示,并且也不会有额外的表单显示。...但如果我们希望同一个页面上添加一个菜谱(Recipe)和多个原料(Ingredient),这时我们就需要用使用inlineformset了。

    1.2K30
    领券