今天看到 Russell 发的一个提议是关于实现用的newforms的widgets时如何处理Media的问题。这一点就目前django来说的确不是很方便。在以前我也写过关于在app中实现对于静态文件的支持,也是由于这一点。由于不象PHP那样以实际的目录来运行,django其实是在一种映射出来的url方式下来工作的,而且考虑到效率的问题,静态文件一般是不处理的。
在这个讨论中,Russell主要提议是对newform中要用到的css和js等静态文件进行处理。在我看来这只是静态文件中处理的一部分而已,最好是从完整的html页面来考虑,如何处理静态文件,如何在各个组件中方便地与页面进行集成。如果有一种通用的页面模式,并且各个组件可以方便将静态文件导入并在合适的位置进行生成才足够方便,但这样一来现有的模板就太简单,一种是重新设置新的模板处理,另一种是可以考虑通过js来动态插入静态链接,如css和js等。在django中的处理还主要是以静态html方式为主,但是我认为这只是最简单的一种,而且也不是很强大,对于复杂的处理则能力不足。应该多结合ajax技术进行。当然从web的整合处理来说,也许分成前端设计和后端设计更好。django目前已经包含了许多的前端设计,但是没有使用ajax毕竟不是很cool。
讨论中另一个问题就是有人提出不要引入过多的css之类的文件,而是需要进行自动合并,这是一个更加复杂的问题。
[讨论链接]