django关闭debug调试模式,静态文件的处理及404页面的设置


发布时间:2020-02-10 14:36    作者: 晖哥哥   已过去:3 年,1 月   阅读总量:2349 已被赞:0


django关闭debug调试模式,静态文件的处理及404页面的设置;

设置settings.py:

1.改模式

DEBUG = False
ALLOWED_HOSTS = ['*']

2.设置 static 和 media 这样设置

STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

 

MEDIA_URL = '/media/'#url映射
MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\', '/')     #设置静态文件路径为主目录下的media文件夹

3.确保模板文件路径与下面一致

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')]
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                'django.template.context_processors.media',
            ],
            'builtins':[
                'django.templatetags.static'
            ]
        },
    },
]

4.在templates 下新建一个404.html

5.在一个views.py里写函数处理

#404
def page_not_found(request):
    return render(request,'404.html')

6.来到主url.py里

from django.urls import path,include,re_path
from apps.blog.views import page_not_found
from django.conf import settings
from django.views import static
 
urlpatterns = [
    path('admin/', admin.site.urls),
   ..........
    re_path(r'^media/(?P<path>.*)$', static.serve, {'document_root': settings.MEDIA_ROOT}, name='media')
]
#配置404 ,为方便,404 和500 我都用了一个页面,页可以再设置个500错误页面
handler404 = page_not_found
handler500 = page_not_found

7.启动 django项目,用这个命令

python manage.py runserver 0.0.0.0:8000 --insecure
 

 8.完成!

点赞

0




登陆后方可评论