作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在阅读 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/
我是一名优秀的程序员,十分优秀!