python - 如何从 Django URL 获取 pk 到 ajax
问题描述
我有一个使用主键的 django url,我希望能够在我的 javascript/ajax 片段中引用它。我在网上找不到任何示例,这可能吗,还是我需要做一些事情,比如从 url 中删除所有字母?
网址.py
path('survey/<int:pk>/record_question/', QuestionRecordView.as_view(), name='survey-question-record'),
解决方案
有几种方法可以做到这一点。最简单的方法如下。
您始终可以使用语法 {{ param_name }} 获取模板层中的 url 参数
所以,如果你的网址是
path('survey/<int:pk>/record_question/', QuestionRecordView.as_view(), name='survey-question-record'),
然后使用,
{{ pk }}
在您的模板 HTML 文件中。这将使您可以访问 url 参数 --> pk。
要将此值传递给您的 ajax,您可以在 html 中的脚本标记内声明此值,然后使用 this 作为参数调用您的 ajax 函数。
例如:
<script>
var pk = {{ pk }} ;
</script>
接下来,您可以在 js 文件 ajax 函数或同一 html 中使用此变量。如果您使用的是单独的 js 文件,只需确保将该 js 文件链接到此 html。
例如:
<script>
Foo.foo = {
id = pk
$.ajax({
url: url,
data: {
'id': id
},
success: function (data) {
your_logic
}
});
},
}
</script>
推荐阅读
- python - 您提供的 AWS 访问密钥 ID 不存在于我们的记录中。AWS
- python - Python 脚本未安装 npm 包
- typescript - Typescript Generic Repository - 实例化泛型类型
- java - ICU4j - 如何使用 Numberformatter 覆盖货币符号或添加自定义货币
- c - 错误:条件跳转或移动取决于未初始化的值
- python - Boto3 在 docker 中需要 AWS 区域,但在本地环境中不需要
- grpc - 如何解决 getaddrinfow:找不到指定的类。尝试通过 grpcurl 调用 gRPC 函数时?
- c# - C# SendKeyPress 并不总是将窗口置于前面
- javascript - Concat json to promise:如何从promise挂起的json对象中获取额外的键值对
- python-3.x - 根据其他列值删除数据框的值