我试图建立一个Django网站,但经过大量的研究和教程,我仍然无法找到答案。在GUI工具包中,当用户在字段或任何其他类型的事件中键入字符时,通常存在执行某些操作(例如,有效性检查)的选项。
Django Web界面中是否有等效的事件操作功能以及如何操作?
具体来说,我希望用户能够在字段中编写WMS网址,并且在输入时或单击按钮时,在同一屏幕中预先存在的geodjango地图窗口小部件将被更新以显示wms和可能缩放到其范围。这是否必须使用更新的html代码重新加载整个html页面,还是可以在不重新加载的情况下完成?
另一个例子是,如果用户从选择字段中选择一个国家/地区来将地图缩放到所选国家/地区(假设我们可以找到范围)。
答案 0 :(得分:0)
正如@ daniel-roseman所说,你真正想要的是一个JavaScript解决方案,因为它不是真正的Django问题。
您可以在Django中创建一个视图,为AJAX请求吐出HTML,但您可能会发现只使用jQuery更简单,挂钩到输入的change
事件(或者更好的是,挂钩到keydown
输入事件。)
使用keydown
事件的一个警告是,您应该将回调附加到计时器,因为您的回调在读取输入控件的完整文本之前运行(即:如果您的用户键入“appl” ,然后点击最后的“e”,最后keydown
事件只会给你值“appl”,除非你把它附加到一个计时器......它有点hacky但它有效。)
您可以考虑将此重新发布为JavaScript或jQuery问题,您可能会获得更多有用的回复。我可以详细介绍但不知道你使用JavaScript的舒适程度,我不知道我是否会教你吮吸鸡蛋:)