javascript - 从 JavaScript 调用 Django 视图
问题描述
假设我正在编写一个网络应用程序,网上商店出售古董硬币,并且我有一个 HTML 组合框 ( <select>
),并且在选择时(例如,我选择“黄金”以仅列出金币)我想重定向到特定的 Django 视图, 我怎样才能做到这一点?我的猜测是 JavaScript,但我不确定如何正确构建所需 Django 视图的 URL。
目前我正在这样做:
var combobox = document.getElementById('category-combobox');
combobox.addEventListener('change', spam);
function spam() {
window.location.replace("/shop/search/?q=" + combobox.value);
}
我只是想知道是否有比手动编码 URL 更好的方法
解决方案
解决方案是使用django-js-reverse。
第1步:安装它pip
pip install django-js-reverse
第2步:添加'django_js_reverse'
到INSTALLED_APPS
settings.py
INSTALLED_APPS = [
'django_js_reverse',
]
第 3 步:urls.py
from django_js_reverse.views import urls_js
urlpatterns = [
path('jsreverse/', urls_js, name='js_reverse'),
]
第 4 步:包含js_reverse
在您的模板中
<script src="{% url 'js_reverse' %}" type="text/javascript"></script>
第 5 步:使用 JavaScript 中的视图
Urls['products:products-list']
推荐阅读
- mysql - 选择总和如果并且有计数
- python - 以块大小读取 39GB CSV 文件数据。我无法以一种 df 格式附加块
- python-3.x - 计算熊猫数据框中低于0的条目数
- sql - 使用自定义 Spring JPA 存储库查询空表时会发生什么
- flex-lexer - jison-gho 中的自定义位置跟踪
- ios - 在 SwiftUI 中推送新视图时隐藏 TabBar
- reactjs - 我可以将环境变量从 Gitlab .gitlab-ci.yml 传递到 React 应用程序吗?
- arduino - 如何使用 Arduino 9 轴运动防护罩
- javascript - Angular Stripe 集成错误:请提供一个元素或 PaymentMethod
- c++ - 如何在for(或while)循环中用字符填充字符串,c ++