gpt4 book ai didi

Django grappelli 似乎无法查看其所有媒体文件

转载 作者:行者123 更新时间:2023-12-02 01:57:06 26 4
gpt4 key购买 nike

我在 Ubuntu 服务器上运行 django 1.4 和 grappelli 2.4.3,在生产时我通过 Windows 网络系统查看它们。当我使用 RDP 在 Ubuntu 计算机上查看时,开发服务器上一切正常。

settings.py 的相关部分是:

STATIC_ROOT = os.path.join(os.path.dirname(__file__), '../03_static_files/collected/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(os.path.dirname(__file__), '../03_static_files/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/admin/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/filebrowser/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/grappelli/'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

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

# apps I added but didn't create
'south',
'grappelli',
'filebrowser',
'tinymce',
'haystack',
'gunicorn',
'debug_toolbar',
'taggit',

# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',

# apps I created
'community',
'fts',
'guidance',
'news',
)

我已经运行了collectstatic,但管理站点显然仅部分呈现。它肯定会使用一些 CSS,因为有些元素是有样式的。但它并没有接其他人,因为它看起来很乱。我的 Nginx 或 Gunicorn 错误日志都没有显示任何 404,并且如果我将浏览器直接指向它们,我可以下载所有 css 和 js 文件。

管理网站目前在 IE8 和 IE9 中都是这样的:

half-rendered grappelli

该网站的其他一切都运行良好。 Django 调试工具栏显示(工作)开发服务器版本和上面的生产版本正在呈现相同的模板。当 grappelli 被删除时,正常的 django admin 会正确显示。我尝试过更改我的 Nginx conf 文件

location /admin/media/ {
root /path/to/django/contrib;
}

location /admin/media/ {
root /path/to/grappelli;
}

没有任何变化。谁能告诉我哪里出错了?

最佳答案

检查静态媒体是否确实存在。

检查所有操作系统的这些设置...

STATIC_URL = '/static/' 
STATIC_ROOT is something like os.path.join(PROJECT_PATH, "static"),
ADMIN_MEDIA_PREFIX = '/static/grappelli/' (or whatever your static directory is)

接下来检查您的

DEBUG = False or True ?
TEMPLATE_DEBUG = DEBUG

如果为 false,它将使用 nginx 提供文件,但不会

另一个例子...

STATIC_URL = '/static/'
STATIC_ROOT = '/home/foo/devel/static'
MEDIA_URL = '/media/'
MEDIA_ROOT = '/home/foo/devel/media'
# the following is deprecated but is it seems grappelly requires it
ADMIN_MEDIA_PREFIX = STATIC_URL + "grappelli/"
STATIC_FILES = ()
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

关于Django grappelli 似乎无法查看其所有媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565733/

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