值得从 django 切换到什么框架

2024-01-02

我使用的最后一个框架是 Django。我喜欢其中的很多东西,比如:

  • 项目结构很简单——没有太多的目录和文件
  • 管理界面
  • 很棒的文档
  • XML 导出-导入
  • Form对象的概念:定义表单后,您可以在1行中显示表单,甚至可以从数据库行(从orm定义)创建表单。 [于 2009 年 12 月 30 日添加]
  • i18n [于 2009 年 12 月 31 日添加]

但也有一些限制:

  • 截至 2009 年 12 月,尚未进行模型验证
  • the templating system is only good as far as you don't need custom template tags
    • 将设计与逻辑分离的想法似乎不错,但令人沮丧,我无法总结n视图中的数字[编辑于 30/12/2009]
    • 模板语言对设计者不友好
    • 自定义模板标签中 ex 的堆栈跟踪是无用的(如果与 python 2.6 一起使用)。有一个补丁,但它会在 1.2 中进入 django
  • django's orm (to connect to legacy systems)
    • 无法处理 blob 字段
    • 无法处理多列pk字段

是否有另一个 Web 框架既具有 django 的优点,又没有列出的限制?或者可以解决django中的一些问题吗?

ps:我会根据答案更新列表。我确信还有更多方面需要讨论......


我可以自由使用任何其他语言的框架,只要我可以在 Linux 服务器上安装这些东西



不是想捍卫 Django(那不是我的工作!:-))只是想给你一些关于你的限制列表的指示......

截至 2009 年 12 月,尚未进行模型验证

你这到底是什么意思?验证可在表单级别进行...并且您始终可以覆盖save()方法来实现您想要的任何逻辑并停止保存操作...您能举一个场景的例子吗?

模板系统仅在您不需要自定义模板标签时才有效 将设计与逻辑分离的想法似乎不错,但令人沮丧的是,我无法在视图中对 2 个数字求和

添加两个数字? http://docs.djangoproject.com/en/dev/ref/templates/builtins/#add

也就是说,您还没有适应 Django 的模板系统。例如,您可以使用Jinja2 http://lethain.com/entry/2008/jul/22/replacing-django-s-template-language-with-jinja2/.

模板语言对设计者不友好

呃……为什么?与我共事的大多数设计师都可以轻松地使用比 Django 更复杂的模板语言……您能举一个您认为不友好的示例吗?也许有一个解决方法。

自定义模板标签中 ex 的堆栈跟踪是无用的(如果与 python 2.6 一起使用)。有一个补丁,但它会在 1.2 中进入 django

我还没有遇到过你讨论的这个堆栈跟踪问题。不过,在 Django 1.2 发布之前,您始终可以安装补丁。所以看来你有一个可用的解决方案。

django 的 orm(连接到遗留系统) 无法处理 blob 字段

如果您需要在数据库中存储文件,也许您应该看看Django 存储 http://code.welldev.org/django-storages/wiki/Home' 数据库存储。

无法处理多列pk字段

这与多个数据库支持一起,是真正需要改进的领域 - 我同意。

我想你不能将模型(只是直接的 SQL)用于具有多列 pk 要求的模型(是的,这会杀死管理员,但这是可行的)。坦率地说 - 我的模型中没有这个问题,因为我更喜欢代理主键 - 如果遗留模型正在我的路上,我会向它添加一个代理主键 - 所有遗留代码都应该继续工作,Django会很高兴。但我确实可以完全控制数据库表,这可能不是您的情况。

多列主键对于 1.2 版本来说是中等优先级 http://code.djangoproject.com/wiki/Version1.2Features.

多数据库是1.2 版本的高优先级 http://code.djangoproject.com/wiki/Version1.2Features.

1.2 版本是预计2010年3月 http://code.djangoproject.com/wiki/Version1.2Roadmap。当然,日期并不是一成不变的。

鉴于我使用其他框架的经验,我宁愿解决我的问题并坚持使用 Django。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

值得从 django 切换到什么框架 的相关文章

随机推荐

  • 如何在 Perl 中运行子命令正确导入环境?

    在从子命令导入环境时 我想将从 bash 脚本导出的所有环境变量添加到哈希中 什么时候program运行后 它将设置一些变量并导出它们 我想将这些变量保存在 Perl 脚本中供以后使用 但是我不想采用子命令中定义的 bash 函数 目前 我
  • 如何从 Java 获取 JanusGraphManagement

    我无法理解如何从使用ConfiguredGraphFactory 创建的图表中获取JanusGraphManagement 实例 我尝试做这样的事情 JanusGraphFactory Builder config JanusGraphFa
  • 更新 Popup.Animated 以播放 gif 直到外部任务完成 (PYSimpleGUI)

    我希望创建一个 UI 在执行另一项任务时显示动画弹出窗口 完成后将退出 我正在使用 PYSimpleGUI 并使用列出的示例here https github com PySimpleGUI PySimpleGUI blob master
  • 自定义注释不适用于 spring Bean

    我创建了新的自定义注释 MyCustomAnnotation Target ElementType METHOD ElementType TYPE ElementType FIELD Retention RUNTIME public int
  • com4j 与 jacob 从 Java 调用 COM 方法

    我维护一个遗留的 Java 应用程序 它使用Jacob http danadler com jacob 或Java COM Bridge 通过MS VBA和MS Word的COM接口进行调用 我一直在看com4j https com4j d
  • 实体框架中内容的国际化

    我不断遇到 i18n 要求 其中我的数据 而不是 UI 需要国际化 public class FooEntity public long Id get set public string Code get set Some values m
  • Groupby、移位和前向填充

    我有这个 df ID Date Time Lat Lon A 07 16 2019 08 00 29 39291 98 50925 A 07 16 2019 09 00 29 39923 98 51256 A 07 16 2019 10 0
  • 为应用程序操作创建自定义内置意图

    有一个可用的内置意图列表 可以在应用程序操作中使用谷歌开发者网站 https developers google com actions reference built in intents 我们有什么方法可以创建自定义的内置意图吗 不可以
  • Django Restframework、Django 通道、Ionic 2 - websocket 握手错误

    我目前正在开发一个使用线程标题中提到的技术的项目 我从浏览器中运行了这一切 该应用程序托管在 heroku 上 但是当我尝试从 Ionic 2 应用程序连接到 websockets 时 我总是在建立握手时遇到错误 2016 09 17T15
  • Excel 2007 及更高版本之间的 Range.Interior.Color 不同

    我发现 Range Interior Color 在某些情况下会为相同颜色返回不同的数字 具体取决于它是否在 Excel 2007 Excel 2010 或 2013 中运行 这是预期的吗 我很惊讶 Range Interior Color
  • Nginx 从旧 URL 重定向到新 URL

    我们正在更换房产搜索供应商 每个供应商的 URL 格式都略有不同 我们已经对 40 000 多个 URL 建立了索引 并希望将用户 301 重定向到新 URL URL 中的唯一区别是从下划线切换为连字符 以及从 idx 切换为 proper
  • 更新 Vector 中对象的属性

    我有一个包含对象的向量 这些对象有一个称为名字的属性 我想更新属性中的名字 为了做到这一点 我必须传递保存对象的向量 唯一标识每个对象的员工编号 最后是从用户输入中获取的新名称 我的问题是它在循环中显示更新名称 我用它来设置新名称 但如果我
  • Android:FastScrolling SectionIndexer getSections() 仅被调用一次

    我创建了一个ListView正在使用FastScroll 见图 当用户单击以下任何按钮 即所有曲目 艺术家 专辑 时 每次都会调用以下自定义 ArrayAdapter ArrayAdapter
  • Yii2:Ajax调用多个参数

    我使用此代码通过 ajax 调用自动填充 没有任何问题 我的视图文件中的代码 this gt registerJs dailywardentry doctor visit name on change function ajax url y
  • 我们可以使用函数作为 useEffect 中的第二个参数吗

    我有以下功能 function handleEnterPress e if e keyCode 13 if value let toAdd true chips forEach chip gt if chip value value toA
  • scrapy 项目在存储到 couchdb 时不可 JSON 序列化

    items py classes import scrapy from scrapy item import Item Field import json class Attributes scrapy Item description F
  • 如何在 WSL + VS Code 和 Docker 容器之间设置文件所有权?

    我的问题是我不知道 也不理解 如何最好地配置主机和容器之间的文件所有权 我是一名前端开发人员 所以这超出了我的深度 主机 运行 WSL2 的 Windows 10 Ubuntu 20 04 LTS 使用 VS Code WSL 远程扩展 容
  • 在R中的for循环中迭代子目录

    我有一个包含 365 个子目录的大目录 其中包含一年中每一天的图像 我创建了一个函数 我想将其应用于这些子目录中的每个图像 目前 这就是我所拥有的 library raster library zebu List all of the 36
  • Nginx 位置匹配特殊字符和编码 url 字符的正则表达式

    今天我已经尝试了很多事情 但我只是没有获胜 我的网站中有一个文件是偶然创建的 其中包含一个特殊字符 结果 Googlebot 已停止抓取 3 周 网站站长工具 搜索控制台不断通知我并希望重新测试网址 我想要实现的就是配置 Nginx 以匹配
  • 值得从 django 切换到什么框架

    我使用的最后一个框架是 Django 我喜欢其中的很多东西 比如 项目结构很简单 没有太多的目录和文件 管理界面 很棒的文档 XML 导出 导入 Form对象的概念 定义表单后 您可以在1行中显示表单 甚至可以从数据库行 从orm定义 创建