能否使用Django构建HTML5移动应用程序?

4
我想知道是否有开发者成功使用Django构建基于HTML5的移动Web应用程序? 如果是这样,您是如何克服Django对一些较新的HTML5标签和属性缺乏支持的?如果您重新开始,您还会使用Django或其他Web框架(例如Twitter Bootstrap)吗?
我正在构建一个依赖表单进行注册、创建个人资料、发送电子邮件等功能的小众约会网站。我希望它首先在智能手机和平板电脑上运行,最后才考虑计算机。我想使用HTML5、CSS3、JS、响应式和渐进式设计技术,以便用户可以在任何类型的设备上访问所有功能。不过,我担心Django对HTML5的支持不足会使网站的构建非常困难,我想知道是否应该使用不同的框架。
谢谢您的想法。

3
您能举个例子来说明所谓的“缺乏支持”吗?正如dusual所说,Django是一种服务器技术,并不关心您是否正在编写HTML5。 - Daniel Roseman
是的,我相信我可以。当Django基于模型CharField渲染文本表单字段时,我不认为它提供创建HTML5中的“tel”或“url”类型的选项,也不会允许您生成HTML5属性,如“placeholder”或“required”。相反,它只会生成HTML4标签和属性。我可能错了,但这是我的理解。 - Jim
1
正如我所说,这些属性是可以更改的。然而,对于Django核心来说,支持这样的表单元素实际上是一个不好的想法。但是,如果你确实需要它们,你可以自己实现。 - dusual
2个回答

15

Django是一种服务器端技术。它为您提供一个框架,帮助您设计一个可扩展的后端,很少涉及前端技术。如果它提供前端功能,您总是可以覆盖它们。如果您希望在一些Django默认表单中拥有html5支持,您总是可以添加或更改渲染方式。这就是MVC的全部意义。

这是我的一般观点。

然而,如果您在使用该框架时遇到了特定问题,您可以谈论它们。


2
我认为我至少有三个选择:
  1. 扩展Django原生模板引擎中表示表单元素的类,以便它们包含我需要的HTML5特定属性。
  2. 手动编写模板,使用我想要使用的HTML5标签,而不是依赖传递给模板并通过form.as_p等方式渲染的Form和ModelForm类实例。
  3. 使用其他模板引擎,如django-crispy-forms,直接支持像Twitter Bootstrap这样的HTML5模板系统。

嗨,罗伯特,你在上面的三个中最喜欢哪一个?如果有教程链接,请添加它们。 - shashank

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接