我已成功为普通的MEDIA文件提供媒体文件,但当我尝试提供管理媒体文件时,我失败了.请帮助我找到问题所在,因为我已经尝试解决问题好几个小时已经没有运气了(谷歌搜索也读了django doc关于提供静态文件).
我尝试访问localhost:8000/media/a.gif时的错误如下:
页面未找到:f:\ python25\lib\site-packages\django/contrib/admin/media\a.gif
我将管理媒体文件放在名为"media"的目录中,而我将普通媒体文件放在名为"static"的目录中.我也在Windows上.
以下是我在urls.py中提供普通媒体文件的方式:
# serve static files
from django.conf import settings
if settings.ENVIRONMENT==settings.ENV_DEVELOPMENT:
urlpatterns += patterns("django.views",
url(r"%s(?P<path>.*)$" % settings.MEDIA_URL[1:], "static.serve", {"document_root": settings.MEDIA_ROOT,})
)
Run Code Online (Sandbox Code Playgroud)
还有我的settings.py(只有重要部分):
import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
project_path.TEMPLATE.replace('\\','/'),
)
Run Code Online (Sandbox Code Playgroud)
我的project_path.py:
import sys
from os.path import dirname, join
ROOT = dirname(__file__)
APP = join(ROOT, "apps")
TEMPLATE = join(ROOT, "templates")
MEDIA = join(ROOT, "static")
ADMIN_MEDIA = join(ROOT, "media")
Run Code Online (Sandbox Code Playgroud)
任何提示?
或者至少请分享您如何提供管理媒体文件(不更改来自Web服务器的任何文件,但只能通过django源代码)
提前致谢 :)
我目前正在使用Post模型开发一个Blog项目,该项目将由多位作者使用.
我想创建一个管理/控制面板界面,其中帖子的每个作者都可以查看作者创建的帖子列表(因此他不会看到其他作者创建的帖子),编辑和多次删除它们.
Django管理员不适合个人用户配置文件,每个用户都可以查看和编辑所有其他用户配置文件.这更适合需要一次管理所有用户的管理员.
这意味着应该在contrib.admin接口之外创建一个新的CRUD系统.所以问题是,是否有任何现有技术/方法在contrib.admin系统之外实现CRUD?或者,我需要学习/使用什么?我怎样才能很好地实现它(最小的努力)?
提前致谢 :)