在按照官方指南安装 Photologue 后,我最初确实成功地上传了一个 .zip 画廊,但是有一次,每当我尝试上传新的 .zip 画廊时,系统都会开始给我一个 400 BAD REQUEST 错误。然而,.zip 文件确实会进入我的 myapp/media/photologue/temp 目录,但在其他情况下不可用。
该项目位于 virtualenv 中。
我的设置文件看起来像
INSTALLED_APPS = (
...
'photologue',
'south',
...
)
MEDIA_ROOT = (
os.path.join(BASE_DIR, 'media')
)
MEDIA_URL = '/media/'
STATIC_URL = '/static/'
STATIC_ROOT = ''
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
from photologue import PHOTOLOGUE_APP_DIR
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'templates'),
PHOTOLOGUE_APP_DIR,
)
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
)
PHOTOLOGUE_PATH = 'myapp.utils.get_image_path'
Whitin myapp/utils.py 我有,#myapp/utils.py:
import os
def get_image_path(instance, filename):
return os.path.join('path', 'to', 'my', 'files', filename)
我有 myapp/urls.py 和推荐的设置
#/myapp/urls.py
urlpatterns = patterns('',
...
url(r'^photologue/', include('photologue.urls')),
(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^admin/', include(admin.site.urls)),
)
if settings.DEBUG:
urlpatterns = patterns('',
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
) + urlpatterns
感谢您的关注。