Javascript 将爱奥尼亚移动应用程序与Django一起用于表单处理的最佳方式
我正在使用ionic构建一个移动应用程序 对于普通的django站点,我们在视图中生成上下文并将其发送到模板,模板使用多种方式显示html,如Javascript 将爱奥尼亚移动应用程序与Django一起用于表单处理的最佳方式,javascript,python,django,ionic-framework,Javascript,Python,Django,Ionic Framework,我正在使用ionic构建一个移动应用程序 对于普通的django站点,我们在视图中生成上下文并将其发送到模板,模板使用多种方式显示html,如form.as\p或form.field等 这款爱奥尼亚移动应用程序怎么样?Django表单对移动客户端帮助不大 Django表单对此没有多大帮助。你的ionic应用程序需要有自己的独立于Django应用程序的表单(这是相对于Django部署的远程界面) 移动客户端通过HTTP进行通信 通常情况下,你的ionic应用程序会使用HTTP与你的Django应用
form.as\p
或form.field
等
这款爱奥尼亚移动应用程序怎么样?Django表单对移动客户端帮助不大
Django表单对此没有多大帮助。你的ionic应用程序需要有自己的独立于Django应用程序的表单(这是相对于Django部署的远程界面)
移动客户端通过HTTP进行通信
通常情况下,你的ionic应用程序会使用HTTP与你的Django应用程序进行通信。这可以通过JSON REST API实现
我建议您在Django上构建一个RESTAPI,例如使用,因为它非常接近Django的设计和习惯用法。因此,您可以快速获得对和等熟悉内容的支持
Ionic基于AngularJS/Angular2,因此在发布表单时,您可以使用大量REST工具与服务器通信
使用HTTPOPTIONS在客户端动态生成表单
如果出于某种原因,您需要在客户端自动生成表单(例如,您对DRY很虔诚,或者您有许多表单遵循某些模式等),您可以使用HTTP谓词获取表单及其字段的元数据
e、 客户端表单可以解析此数据结构来构建表单
"actions": {
"POST": {
"note": {
"type": "string",
"required": false,
"read_only": false,
"label": "title",
"max_length": 100
}
}
}
您可以使用一些来实现这一点,只需稍微转换模式格式,或者使用自定义DRF元数据生成器,或者在JS端进行一些操作。Django表单对移动客户端没有太大帮助
Django表单对此没有多大帮助。你的ionic应用程序需要有自己的独立于Django应用程序的表单(这是相对于Django部署的远程界面)
移动客户端通过HTTP进行通信
通常情况下,你的ionic应用程序会使用HTTP与你的Django应用程序进行通信。这可以通过JSON REST API实现
我建议您在Django上构建一个RESTAPI,例如使用,因为它非常接近Django的设计和习惯用法。因此,您可以快速获得对和等熟悉内容的支持
Ionic基于AngularJS/Angular2,因此在发布表单时,您可以使用大量REST工具与服务器通信
使用HTTPOPTIONS在客户端动态生成表单
如果出于某种原因,您需要在客户端自动生成表单(例如,您对DRY很虔诚,或者您有许多表单遵循某些模式等),您可以使用HTTP谓词获取表单及其字段的元数据
e、 客户端表单可以解析此数据结构来构建表单
"actions": {
"POST": {
"note": {
"type": "string",
"required": false,
"read_only": false,
"label": "title",
"max_length": 100
}
}
}
您可以使用一些来实现这一点,您只需稍微转换模式格式,或者使用自定义DRF元数据生成器,或者在JS端进行一些操作。我通常使用(DRF)在Django中构建api。DRF提供了一种允许您验证传入请求数据的方法,与Django表单非常相似
要完整回答您的问题,请执行以下操作:
使用适当的字段构建html表单,然后将数据发布到api端点(这是一个api视图),然后使用序列化程序验证传入的请求数据。我通常使用(DRF)在Django中构建api。DRF提供了一种允许您验证传入请求数据的方法,与Django表单非常相似
要完整回答您的问题,请执行以下操作:
您可以使用适当的字段构建html表单,然后将数据发布到api端点(这是一个api视图),然后使用序列化程序验证传入的请求数据。谢谢,这正是我的想法+谢谢,这正是我所想的+1.