【问题标题】:Django 1.11 404 Page while Debug=TrueDjango 1.11 404 页面,而 Debug=True
【发布时间】:2017-10-28 22:20:33
【问题描述】:

不为难,我只想展示一个带有静态文件的特殊 404 渲染。

如果你设置DEBUG = False你可以在urls.py

中使用
handler404 = 'app.views.handler404'

但它没有静态文件。我不想为简单的应用安装 Web 服务器。

DEBUG = True网址

url(r'^404/$', views.handler400)

没有覆盖默认的找不到页面 (404) 页面。

实现渲染的简单方法是什么?当您在 DEBUG=True 时键入带有静态文件的 localhost/asdfhjfsda 时?

提前谢谢...

【问题讨论】:

    标签: python django django-templates django-views


    【解决方案1】:

    我有一个完整的解决方案

    我的开发环境: Windows 7、Python 3.5.2、Django 1.11、WAMP 3.0.6(Apache 2.4.23、mod_wsgi)

    1. 假设您有带有静态文件的 error_404.html 模板
    2. 创建下一个目录结构(“mysite” - Django 项目根文件夹)
    我的网站\ 我的网站\ 设置.py 网址.py 视图.py 静止的\ 错误404\ 文件\ 样式.css 图像.jpg 模板\ 错误404\ error_404.html
    1. mysite\mysite\settings.py
    导入操作系统 调试 = 假 模板 = [{ .. 'DIRS': [os.path.join(BASE_DIR, 'templates')], .. }] STATIC_URL = '/静态/' STATIC_ROOT = 'FullPathToYourSite.com/mysite/static/'
    1. mysite\mysite\urls.py
    从 django.conf.urls 导入 handler404, handler500 从 。导入视图 urlpatterns = [..] handler404 = views.error_404 handler500 = views.error_404
    1. mysite\mysite\views.py
    从 django.shortcuts 导入渲染 def error_404(请求): 返回渲染(请求,'error404/error_404.html')
    1. “error_404.html”中的一些 Jinjo 逻辑(伪代码)
    {% 加载静态文件 %} ... 链接类型="text/css" href="{% static 'error404/files/style.css' %}" ... img src="{% static 'error404/files/image.jpg' %}" ...

    【讨论】:

    • 我认为 OP 正在通过DEBUG = True 寻求解决方案
    【解决方案2】:

    Django 1.9 发布这篇文章的最简单方法是在您的urls.py

    from django.views.defaults import page_not_found
    
    url(r'^404/$', page_not_found, {'exception': Exception()})
    

    它想要一个例外,给它一个例外:)

    【讨论】:

      【解决方案3】:

      在 django 1.10 docs:

      在 Django 1.9 中更改: page_not_found() 的签名已更改。该函数现在接受第二个参数,即触发错误的异常。异常的有用表示也会在模板上下文中传递。

      看看你的 'app.views.handler404' 定义,它可能会遗漏一个参数,也许这就是为什么 r'^404/$'handler 没有为你提供正确的方法调用。

      【讨论】:

        猜你喜欢
        • 2019-12-27
        • 2020-12-14
        • 2021-11-08
        • 2018-02-22
        • 2018-05-24
        • 2011-06-25
        • 2017-06-01
        • 2011-11-21
        • 2011-11-16
        相关资源
        最近更新 更多