有没有可能在aplog中使用django权限。我在django的一个模板中有以下代码,它可以完美地检查权限。
{% if perms.users.change_account %}
<a class="btn btn-info btn-sm" href="/users/account_edit/">
<i class="fas fa-pencil-alt">
</i>
Edit
</a>
{% endif %}
字符串
我有一个js文件,里面有一个approach,我想在向innerhtml添加一些元素时添加权限检查
const sendSearchData = (dev) => {
$.ajax({
type: 'POST',
url: '/customers/dev_search',
data: {
'csrfmiddlewaretoken': csrfDevice,
'dev': dev,
'id': cid,
},
success: (res)=> {
const devData = res.data
if(Array.isArray(devData)){
resultsListDev.classList.remove('not-visible')
resultsListDev.innerHTML = ""
devData.forEach(dev=>{
resultsListDev.innerHTML += `
<tr>
<td>
${dev.name}
</td>
<td>
# Is there a way to check user permissions in django from ajax and if it has a specific permissions
# then display, like how can i check this in ajax "perms.users.change_account"
<a class="btn btn-info btn-sm" href="/users/account_edit/">
<i class="fas fa-pencil-alt">
</i>
Edit
</a>
</td>
</tr>
`
})
}
},
error: (err)=> {
console.log(err)
}
})
}
型
不知道如何在django中通过权限检查用户权限。尝试查看文档和搜索网页,但找不到任何东西。
2条答案
按热度按时间nzk0hqpo1#
你可以在你的JS脚本中使用Django模板,但这只有在你的脚本是页面内HTML的时候才可能(你的JS在你的模板中的
<script>
标签中,也应该是同一个文件的一部分)。你不能在你导入的*.js
文件中使用Django模板语法。举例来说:
字符串
0vvn1miw2#
根据您的用例,有几个选项可供您选择。
您可以:
您需要确保没有人可以做任何恶意的事情,所以不要忘记检查服务器端从前端接收的任何数据。
你可以使用Django模板化在模板内的脚本标签之间写入数据,
字符串
因此,您可以创建一个在单击时调用的函数,例如
型
sendAjaxRequest
的创建是为了让canChangeAccount
可以传递给sendSearchData
,而不需要将所有AJAX代码直接放入模板中,也不需要将权限分配给window
对象,这样它们就可以很容易地被操纵。