gpt4 book ai didi

Django 1.8 为什么本地静态请求引发 404?

转载 作者:行者123 更新时间:2023-12-01 15:07:19 25 4
gpt4 key购买 nike

项目名称是exam。我将 simple.css 文件放在 exam/static/css/ 中。当我请求 http://127.0.0.1:8000/static/css/simple.css 时,它返回 404 错误,说 'css\simple.css' could not be found。设置似乎没问题。生产环境静态请求用nginx就可以了。

相关信息:

设置.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))).replace('\\','/')

TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [
],
'APP_DIRS': True,
},
]

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

MEDIA_ROOT = os.path.join(BASE_DIR, 'media').replace('\\','/')

STATIC_ROOT = os.path.join(BASE_DIR, "static").replace('\\','/')

网址.py

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
# Examples:

)

from django.conf import settings
from django.conf.urls.static import static

if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL , document_root = settings.MEDIA_ROOT )

最佳答案

也许您缺少 STATICFILES_DIRS 设置。

在生产中,python manage.py collectstatic 将所有静态文件移动到 STATIC_ROOT 目录中,以便 nginx 可以在这里查找它们,但是在开发模式下,django 需要知道静态文件在哪里,并为此使用 STATICFILES_DIRS 元组。

如果您在 exam/static 中有这些文件,您的 STATICFILES_DIRS 应该如下所示:

STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

关于Django 1.8 为什么本地静态请求引发 404?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29585135/

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