gpt4 book ai didi

python - 如何在 Django 中添加警告弹出框?

转载 作者:行者123 更新时间:2023-12-04 01:44:33 25 4
gpt4 key购买 nike

我一直在阅读 django 文档,但到目前为止我尝试过的所有方法都不适合我。我正在尝试做到这一点,如果用户输入某个页面的 url 并且他们尚未登录,那么他们将被重定向到登录页面,该页面会弹出一条错误消息,提示他们无权访问页面直到他们登录。

这是 views.py 中的一小段代码

def home(request):
if request.session.test_cookie_worked():
return render(request, 'page/home.html')
else:
return render(request, 'page/login.html')

除了重定向到登录页面时不会弹出错误消息外,一切正常。我查看了人们提出的与此类似的其他堆栈溢出问题,但这些问题似乎也不适合我。有什么建议吗?

最佳答案

这是我的做法。

首先,如果 View 代码确定应显示弹出窗口,则调用 render()在上下文中使用命名标志:

return render(request, 'page/home.html', {'some_flag': True})

然后,在您的页面模板中,如果设置了标志,则显示 <div>元素:

{% if some_flag %}
<div id="some_flag" title="Some Flag">
<p>Some Text Here</p>
</div>
{% endif %}

同样在页面模板中,在 <head> 中部分,创建一个 JavaScript 函数来显示 <div>作为弹出对话框:

<head>
<script type="text/javascript">
$(document).ready(function() {
$(function() {
$( "#some_flag" ).dialog({
modal: true,
closeOnEscape: false,
dialogClass: "no-close",
resizable: false,
draggable: false,
width: 600,
buttons: [
{
text: "OK",
click: function() {
$( this ).dialog( "close" );
}
}
]
});
});
});
</script>
</head>

此解决方案还需要您使用 jQuery 库。

我敢肯定这样做有缺点,但它对我有用。

关于python - 如何在 Django 中添加警告弹出框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44551791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com