希望对于任何有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/"
如果这看起来有点基础,那么任何建议都会表示赞赏并道歉,我只是真正掌握了这一点。
感谢。
答案 0 :(得分:2)
我希望我能正确回答你的问题。
如果您使用的是最新版本的Django 1.3和Django-Grapelli 2.3,那么您需要最新版本的Django-Filebrowser 3.3。这是旧版本的Filebrowser 3.2及以下版本,不支持静态文件,默认情况下包含在Django 1.3中。
你需要做的是将Filebrowser 3.3从分支到你的python site-packages:
svn checkout http://django-filebrowser.googlecode.com/svn/branches/filebrowser_3_3/filebrowser filebrowser
现在您可以运行将文件浏览器放入静态文件夹:
python manage.py collectstatic
答案 1 :(得分:0)
您是否已收集/符号链接/复制文件?
如果你没有使用静态文件,你 可以使用你的符号链接 媒体目录(由MEDIA_ROOT提供 和MEDIA_URL)或复制文件浏览器 媒体文件到您的媒体目录。 不要忘记更改设置 相应
编辑:
看起来存储了django-filebrowser的静态文件:
filebrowser
|_ locale
|_ management
|_ media
| |_ filebrowser
| |_ css
| |_ img
| |_ js
|_ templates
|_ templatetags
这看起来像django staticfiles应用程序的旧设置,其中媒体文件存储在应用程序的media
目录中(滚动到这些docs
的底部)
有几种方法可以通过重命名该目录,复制/符号链接或将目录添加到STATICFILES_DIR
答案 2 :(得分:0)
对于使用旧版本的人来说,解决方法是:
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
然后将MediaFinder函数添加到STATICFILES_FINDERS