希望这对任何有Django经验的人来说都是一件容易的事情。我正在尝试掌握这个框架和一般的Python,并下载了文件浏览器应用程序。
它允许我创建文件夹OK,但是它无法找到它的css。
在查看页面时,我在控制台中看到以下内容:
[20/Apr/2011 14:05:10] "GET /admin/ HTTP/1.1" 200 11282
[20/Apr/2011 14:05:12] "GET /admin/filebrowser/browse/ HTTP/1.1" 200 14747
[20/Apr/2011 14:05:12] "GET /media/filebrowser/css/filebrowser.css HTTP/1.1" 404 2324第三行显示为黄色,因为Django无法找到css文件。
大概我只是在settings.py文件中遗漏了/有一个不正确的行,但是我不确定需要修改什么。
有人能帮上忙吗?
以下是我的设置中的相关(我认为)行:
import os
SITE_ROOT = os.path.realpath(os.path.dirname(__file__)`)
MEDIA_ROOT = os.path.join(SITE_ROOT, 'media/uploads/')
MEDIA_URL = '/media/'
FILEBROWSER_DIRECTORY = ''
STATIC_ROOT = os.path.join(SITE_ROOT, 'media/')
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = STATIC_URL + "grappelli/"感谢任何建议,如果这看起来有点基础的话,我真的只是刚刚开始掌握这一点。
谢谢。
发布于 2011-04-21 08:43:01
我希望我能正确回答你的问题。
如果你使用的是最新版本的Django 1.3和Django-Grapelli 2.3,那么你需要最新版本的Django-Filebrowser 3.3。这是因为旧版本的Filebrowser 3.2及更低版本不支持Django 1.3中默认包含的静态文件。
您需要做的是将Filebrowser 3.3从分支svn到您的python站点包:
svn checkout http://django-filebrowser.googlecode.com/svn/branches/filebrowser_3_3/filebrowser filebrowser 现在您可以运行以将文件浏览器放入您的静态文件夹:
python manage.py collectstatic发布于 2011-04-21 03:38:50
从
你收集/符号链接/复制文件了吗?
如果您不使用静态文件,您可以使用媒体目录(由MEDIA_ROOT和MEDIA_URL提供)中的符号链接,也可以将文件浏览器媒体文件复制到媒体目录中。不要忘记相应地更改设置。
编辑:
看起来django-filebrowser的静态文件被存储了:
filebrowser
|_ locale
|_ management
|_ media
| |_ filebrowser
| |_ css
| |_ img
| |_ js
|_ templates
|_ templatetags这看起来像django staticfiles应用程序的旧设置,其中媒体文件存储在应用程序的media目录中(滚动到这些的底部)
有几种方法可以解决此问题,可以通过重命名该目录、复制/symlinking或将该目录添加到STATICFILES_DIR
发布于 2012-11-05 20:52:57
对于使用旧版本的人员,解决方法是:
from django.contrib.staticfiles.finders import AppDirectoriesFinder
from django.contrib.staticfiles.storage import AppStaticStorage
class AppMediaStorage(AppStaticStorage):
source_dir = 'media'
class MediaFinder(AppDirectoriesFinder):
storage_class = AppMediaStorage然后在STATICFILES_FINDERS中添加MediaFinder函数
https://stackoverflow.com/questions/5735543
复制相似问题