可以使用 Django 构建 HTML5 移动应用程序吗?

Posted

技术标签:

【中文标题】可以使用 Django 构建 HTML5 移动应用程序吗?【英文标题】:Can one build HTML5 mobile app with Django? 【发布时间】:2013-03-26 02:56:43 【问题描述】:

我想知道这里是否有开发人员使用 Django 成功构建了基于 html5 的移动 Web 应用程序?如果是这样,您是如何克服 Django 不支持某些较新的 HTML5 标记和属性的问题的?如果让你重新来过,你会再次使用 Django 还是其他一些 Web 框架(例如 Twitter Bootstrap)?

我正在建立一个小众约会网站,该网站将依赖表单进行注册、创建个人资料、电子邮件等。我希望它首先在智能手机和平板电脑上运行,然后作为最后的手段在计算机上运行。我想使用 HTML5、CSS3、JS 以及响应式和渐进式设计技术,以便用户无论使用什么类型的设备都可以访问所有功能。不过,我担心 Django 缺乏对 HTML5 的支持会使构建网站变得非常困难,我想知道是否应该使用不同的框架。

感谢您的意见。

【问题讨论】:

你能举一个所谓的“缺乏支持”的例子吗?正如 dusual 所说,Django 是一种服务器技术,并不关心您是否正在编写 HTML5。 是的,我相信我可以。当 Django 基于模型 CharField 呈现文本表单字段时,我认为它不会像 HTML5 那样提供创建“tel”或“url”类型的选项,也不会允许您生成 HTML5 属性,例如作为“占位符”或“必需”。相反,它只会生成 HTML4 标记和属性。我可能弄错了,但这是我的理解。 正如我所说,这些属性可以更改。 django core 支持这样的表单元素实际上是一个坏主意。但是,如果您确实想要它们,您可以自己实现 【参考方案1】:

Django 是一种服务器端技术。它为您提供的是一个框架来帮助您设计可扩展的后端,它很少与前端技术有任何关系,如果它提供前端功能,您总是可以覆盖它们。如果您希望在某些 django 默认表单上支持 html5,您可以随时添加它/更改呈现方式。这就是 MVC 的全部意义所在。

这是我的总体看法。

但是,如果您在使用框架进行部署时遇到更具体的问题,您可以讨论它们。

【讨论】:

【参考方案2】:

我相信我至少有三个选择:

    在 Django 的本机模板引擎中扩展表示表单元素的类,以便它们包含我需要的 HTML5 特定属性。 我想使用带有 HTML5 标签的手写代码模板,而不是依赖于我将传递给模板并通过 form.as_p 等呈现的 Form 和 ModelForm 类实例。 使用直接支持 HTML5 模板系统(如 Twitter Bootstrap)的替代模板引擎,例如 django-crispy-forms。

【讨论】:

嗨罗伯特,以上三个中你最喜欢哪一个,如果有任何教程链接也请添加。

以上是关于可以使用 Django 构建 HTML5 移动应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

构建 HTML5 移动应用程序的推荐方法是啥? [关闭]

HTML5打造原生应用——Ionic框架简介与Ionic Hello World

HTML5移动应用开发框架(Ionic)

Javascript / HTML5 - 用于网络桌面/移动应用程序的音频流录制

使用 UIWebView 构建 HTML5 iOS 应用

20分钟轻松制作移动网站