问题标签 [django-generic-views]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django中基于类的通用视图的问题
我正在尝试使用基于 Django 类的通用视图编写一个 CRUD 应用程序。以下是我为在数据库中创建新用户而编写的代码。
请注意,要添加成功消息以显示给用户,我必须扩展 post 功能。我知道这不是一个好方法,因为当这个函数被调用时,它不会决定提交的表单是否包含有效数据。所以我的问题是,是否有将 Django 消息传递框架与基于类的通用视图相结合的推荐方式?
django - Django - 通用视图子类化 - url 参数
我需要显示包含其他数据的视频的详细信息页面。为此,我使用DetailView
已覆盖的内容将一些变量添加到上下文中。
以下是代码部分:
这pk
是一个视频的 id,我需要获取当前用户所选视频的费率。
python - Django - 是否使用通用视图?
我正在浏览 Django 网站上的快速投票教程,最后一个主题是通用视图的介绍。一种无需为每个 URL 模式创建自定义视图的便捷方法。
据我了解,这是主要思想:
1) 请求 -> URL 模式 -> 视图 -> 模板
或者
2) 请求 -> URL 模式(通用视图)[-> 可选模板]
2 似乎需要更少的代码,它只需要两个步骤而不是四个步骤,但不利的一面是,您将更多的东西粘贴到 URL 模式中,有更多的自动化,并且您的视图现在在两个地方定义。
我真的很喜欢拥有 URL 模式的想法 - 模式,而不是添加额外的样板。我也喜欢明确定义所有视图的想法,即使是简单的视图,这样以后我就知道在哪里可以找到它们,而无需来回浏览文件。另外,我们都知道任何自动化都比你从头开始构建的东西更难定制(至少从 Django 从头开始)。
我错过了什么吗?我是否犯了一个很大的错误,以后会困扰我,因为我根本不使用通用视图?
django - 通用编辑 URL 在 Django 中不起作用
我正在使用 Django 通用视图,但是当我输入
然后它说配置文件中没有URL
我的网址文件是
创建部分工作正常
django - 如何减少 Django 中 URL 重写配置的数量
我在 Django 中有这个列表。这些看起来相同。有没有办法从这四行中制作一行
django - 带有密码更改视图的模板中的 Django url 错误
我正在使用 Django1.2.3-3+squeeze1
和 Debian 挤压。
我正在尝试在我的应用程序中使用 Django 密码更改视图,对应于django.contrib.auth.views.password_change
. 这看起来应该很简单,但我一直遇到问题。
为了简单和完整,我将在线指向我的应用程序文件。该应用程序是bixfile。对应的 Django 项目是bixproj。
url.py 中的相关行是 https://bitbucket.org/faheem/bixfile/src/49bcbab3a7be/urls.py#cl-65,即
这会破坏使用它的任何模板。目前,我只 在模板 calgb_base.html 的https://bitbucket.org/faheem/bixfile/src/71de33d01f43/templates/calgb_base.html#cl-21行使用它 ,该模板包含在一堆模板中包括顶层索引视图,对应于模板 https://bitbucket.org/faheem/bixfile/src/71de33d01f43/templates/index.html。calgb_base.html 中的行是
index
当我导航到对应于
https://bitbucket.org/faheem/bixfile/src/71de33d01f43/urls.py#cl-16
和
https://bitbucket.org/faheem/bixfile/src/71de33d01f43/views的顶视图时.py#cl-203
我看到一个错误,以
我怀疑完整的回溯是否有用,但我已将其粘贴在 http://paste.lisp.org/display/122996上。
Apache 2.2 和 mod-wsgi 以及内置的 Django 测试服务器(见下文)都可以重现此错误。
如果我直接访问 /password_change/ 相关 url,我会按预期看到密码更改表单。
奇怪的是,我编写的所有测试都通过了,并产生了预期的结果。参见例如 testIndexUrl 、 testIndexView 和 test_password_change_url。
您可以从bixproj
目录运行测试
如果您想尝试重现此错误,则相对容易。
首先下载项目 ( bixproj
) 和应用程序存储库 ( bixfile
)。所以
然后确保 bixfile 在 Python 路径中。更改数据库以使用 sqlite。然后改变
到
然后运行
在bixproj
本地计算机上的目录中并转到默认 url
http://127.0.0.1:8000/
应该会显示错误。
我希望我可以在必要时生成一个显示错误的最小示例,但我真的希望这个错误是显而易见的,我不必这样做。提前致谢。
django - 在 Django 中滚动你自己的通用视图
Django 文档在基于类的通用视图中提到 DetailView 由以下各项组成:View、SingleObjectMixin 和 SingleObjectTemplateResponseMixin。我正在对此进行试验,因为我有兴趣创建一个通用视图,该视图将使用 ModelForm 执行 object_detail 视图,以便可以自动生成我的模型行。
为了尝试复制 DetailView 我尝试创建一个类,如下所示:
当我使用 formdisplay 而不是 list_detail.object_detail 我得到错误
有关如何执行此操作的任何提示?
另外,关于如何编写导入语句的文档在哪里?我不得不谷歌找到要导入的内容,因为我在文档中找不到。
在此先感谢,史蒂夫
django - 使用基于类的通用视图 DetailView 和 ModelForm 揭示了一个错误 - 如何继续?
功能性网站与教程中的通用视图结合在一起的速度给我留下了深刻的印象。此外,表单处理的工作流程也很好。我使用 ModelForm 帮助器类从我制作的模型中创建了一个表单,并且很高兴看到这么多功能结合在一起。当我使用通用的 list_detail.object_detail 时,我很失望我能显示的都是单独的字段。我知道 ModelForm 类包含渲染信息,所以我想将 ModelForm 与通用视图一起使用。
我在 stackoverflow 上四处询问以获得一些方向,并感谢几位海报的答案和评论。我已经想出了如何让它工作,但是 DetailView 中有一个错误。该解决方案包括一种解决方法。
要将 ModelView 与通用视图一起使用并让所有字段自动呈现,请执行以下操作:
创建一个项目,并在其中创建应用程序住院患者。
如果你有
和
和
有用。使用基于类的通用视图的说明位于https://docs.djangoproject.com/en/1.3/topics/class-based-views/ 那里的说明非常清楚。使事情起作用的关键是重新定义get_object。在“执行额外工作”部分下的文档中,它很好地描述了如何执行此操作,步骤是调用 get_object 的原始版本,然后是额外的工作。我意识到返回对象可以是 ModelForm 对象。get_object 返回的对象直接进入渲染中的模板。通过获取检索到的住院对象并通过 InpatientForm 运行它,它可以作为表单传递给视图,然后呈现自身。
至于错误: DetailView 中的错误是 get_template_names 函数试图从不存在的结构中创建模板名称。在 https://code.djangoproject.com/browser/django/trunk/django/views/generic/detail.py 的第 127 到 140 行中,我们在 SingleObjectTemplateResponseMixin.get_template_names 中有:
错误是第 131 行的代码已执行并因错误消息 <'ModelFormOptions' object has no attribute 'app_label'> 而死。我的结论是定义了 _meta 对象。我想问题是在 ModelForm 中定义了 Meta 类。该 Meta 可能没有设置预期的字段。解决方法就是重写 get_template_names 并返回正确的模板。
我是 Django 和 Python 的新手。我感谢贡献者对我之前提出的以下问题的回答和评论。( 将 list_detail.object_list 中的链接放到 list_detail.object_detail 中, 在 object_detail 中使用表单,在 Django 中滚动您自己的通用视图)
我应该怎么做才能报告错误?
django - 如何使用 DetailView 显示内联?
我有一个Project
模型。这个模型有Days
哪些是内联的。
如何使用 DetailView 显示它们?
我的views.py 看起来像这样:
我如何通过这一天内联?
我试过了:
但这不起作用。此外,我使用通用视图似乎毫无意义,但get_object_or_404
无论如何都要这样做Days
。
我该如何正确地做到这一点?
django - 可以学习的高质量、复杂的 django 项目
有哪些设计和编写良好的开源 django 项目可以使学习者受益。例如,如果我想了解更多经典通用视图如何在该领域工作,我想看看它是如何在大型网站中实现的。