问题标签 [django]

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.

0 投票
9 回答
14831 浏览

python - Class views in Django

Django view points to a function, which can be a problem if you want to change only a bit of functionality. Yes, I could have million keyword arguments and even more if statements in the function, but I was thinking more of an object oriented approach.

For example, I have a page that displays a user. This page is very similar to page that displays a group, but it's still not so similar to just use another data model. Group also has members etc...

One way would be to point views to class methods and then extend that class. Has anyone tried this approach or has any other idea?

0 投票
6 回答
1630 浏览

database - 版本跟踪,使用 django 自动更改数据库架构

我目前正在研究用于未来基于 db 的 Web 应用程序的 Python 框架 Django,以及当前用 PHP 编写的一些应用程序的端口。在我的最后几年中,最棘手的问题之一是跟踪数据库模式更改并将这些更改部署到生产系统。我也不敢要求能够撤消它们,但当然对于测试和调试来说,这将是一个很棒的功能。从这里的其他问题(例如this onethis one),我可以看出我并不孤单,这不是一个微不足道的问题。另外,我在那里的答案中找到了很多灵感。

现在,由于 Django 似乎非常强大,它是否有任何工具可以帮助解决上述问题?也许它甚至在他们的文档中,我错过了?

0 投票
3 回答
2233 浏览

python - 在 Django 的父模型中更新 auto_now DateTimeField

我有两个模型:消息和附件。每个附件都使用附件模型上的 ForeignKey 附加到特定消息。两个模型都有一个名为 updated 的 auto_now DateTimeField。我正在尝试这样做,以便在保存任何附件时,它还将关联消息上的更新字段设置为现在。这是我的代码:

这行得通吗?如果你能向我解释一下,为什么?如果没有,我将如何做到这一点?

0 投票
11 回答
5086 浏览

sql - 表示关系数据库中的排序

我在数据库中有一组对象。照片库中的图像、目录中的产品、书中的章节等。每个对象都表示为一行。我希望能够任意排序这些图像,将该排序存储在数据库中,这样当我显示对象时,它们就会以正确的顺序排列。

例如,假设我正在写一本书,每一章都是一个对象。我写我的书,并按以下顺序排列章节:

简介、可访问性、形式与功能、错误、一致性、结论、索引

它转到编辑器,并返回以下建议的顺序:

介绍、形式、功能、可访问性、一致性、错误、结论、索引

如何以稳健、有效的方式将此排序存储在数据库中?

我有以下想法,但我对其中任何一个都不感到兴奋:

  1. 大批。每行都有一个排序 ID,当更改顺序时(通过删除后插入),订单 ID 会更新。这使得检索变得容易,因为它只是ORDER BY,但似乎很容易破解。

    // REMOVAL
    UPDATE ... SET orderingID=NULL WHERE orderingID=removedID
    UPDATE ... SET orderingID=orderingID-1 WHERE orderingID > removedID
    // INSERTION
    UPDATE ... SET orderingID=orderingID+1 WHERE orderingID > insertionID
    UPDATE ... SET orderID=insertionID WHERE ID=addedID

  2. 链表。每行都有一列用于排序中下一行的 id。遍历在这里似乎很昂贵,尽管可能通过某种方式使用ORDER BY我没有想到的。

  3. 间隔数组。将 orderingID(如 #1 中使用的)设置为大,所以第一个对象是 100,第二个是 200,依此类推。然后当插入发生时,您只需将其放在(objectBefore + objectAfter)/2. 当然,这需要偶尔重新平衡,所以你不会让事物靠得太近(即使使用浮点数,你最终也会遇到舍入错误)。

这些对我来说都不是特别优雅。有没有人有更好的方法来做到这一点?

0 投票
9 回答
60839 浏览

python - 在 Django 模型中指定 mySQL ENUM

如何在 Django 模型中指定和使用 ENUM?

0 投票
5 回答
4155 浏览

django - Hostmonster 是否支持 Django

我知道 Hostmonster 允许使用 Python。有没有人在那里成功运行 Django?任何问题?

0 投票
5 回答
13510 浏览

python - Python / Django 中的 Unicode 与 UTF-8 混淆?

我在Django 教程中偶然发现了这段话:

Django 模型有一个默认的str () 方法,该方法调用unicode () 并将结果转换为 UTF-8 字节串。这意味着 unicode(p) 将返回一个 Unicode 字符串,而 str(p) 将返回一个普通字符串,字符编码为 UTF-8。

现在,我很困惑,因为 afaik Unicode 不是任何特定的表示形式,那么 Python 中的“Unicode 字符串”是什么?这是否意味着UCS-2?谷歌搜索出现了这个“Python Unicode 教程”,它大胆地指出

Unicode 是一种两字节编码,涵盖了世界上所有常见的书写系统。

这是完全错误的,或者是吗?我多次被字符集和编码问题弄糊涂了,但是在这里我很确定我正在阅读的文档很困惑。当它给我一个“Unicode 字符串”时,有人知道 Python 中发生了什么吗?

0 投票
13 回答
24022 浏览

python - Django 最干净和最快的服务器设置

我即将部署一个由 Django 提供支持的中型站点。我有一个专用的 Ubuntu 服务器。

我真的很困惑要使用哪个服务器软件。所以我心想:为什么不问stackoverflow。

我正在寻找的是:

  • 易于设置
  • 快速轻松地获取资源
  • 可以提供媒体文件
  • 能够在同一台服务器上服务多个 djangosites
  • 我宁愿不安装 PHP 或其他任何会消耗资源的东西,而且我对此毫无用处。

我听说过 Apache、nginx 和 lighty 上的 mod_wsgi 和 mod_python。这些有哪些优点和缺点,我错过了某人吗?

@Barry:不知何故,我觉得 Apache 对我来说太臃肿了。那替代品呢?

@BrianLy:好的,我再看看 mod_wsgi。但是,如果我使用 lighty 提供静态文件,为什么还需要 Apache?我还设法轻松地为 django 应用程序本身提供服务。这到底是不是很糟糕?抱歉我这么笨:-)

更新:lighty 和 nginx 怎么样——当它们是完美的选择时,哪些是用例?

0 投票
10 回答
35332 浏览

python - 如何使用 django 模板渲染树结构(递归)?

我在内存中有一个树结构,我想使用 Django 模板在 HTML 中呈现。

会有一些对象root是 a Node,并且childrenNodes 的列表。root将在模板的内容中传递。

我发现了这个关于如何实现这一点的讨论,但海报表明这在生产环境中可能并不好。

有人知道更好的方法吗?

0 投票
3 回答
1130 浏览

python - 新表单管理员中的 Django ImageField core=False

在向新表单管理员过渡的过程中,我很难弄清楚如何为 ImageFields 指定 core=False。

我收到以下错误:

[编辑] 但是,只需删除核心参数,我就会得到“此字段是必需的”。尝试提交时管理界面中的错误。如何使用 newforms admin 完成 core=False 的目的?