我是初学者,但我一直在寻找解决方案。我看不到上传的图像(404)。Django RequestContext和媒体不起作用
No SuperPages matches the given query.
超级页面是: -
从图像链接(>顺便说一下,这个正确的URL 8000 /媒体/组合/的icon.png /:HTTP://192.168.1.1例如)错误我的模型包含url对象。
我为这里的媒体文件配置了一切:http://www.muhuk.com/2009/05/serving-static-media-in-django-development-server/。而要清楚的是,当我只使用通用视图时,它的效果很好。但有了意见,我看不到图像(链接到图像很好)。静态文件效果很好。所以这是我的代码:
urls.py
from mysite.cms.views import superpages
urlpatterns = patterns('',
(r'^(?P<url>.*)$', superpages),)
views.py
from django.template import loader, RequestContext
from mysite.cms.models import SuperPages
from django.shortcuts import get_object_or_404
from django.http import HttpResponse, HttpResponseRedirect
DEFAULT_TEMPLATE = 'default.html'
def superpages(request, url):
if not url.endswith('/') and settings.APPEND_SLASH:
return HttpResponseRedirect("%s/" % request.path)
if not url.startswith('/'):
url = "/" + url
f = get_object_or_404(SuperPages, url__exact = url)
t = loader.get_template(DEFAULT_TEMPLATE)
c = RequestContext(request, {
'superpages': f,
})
return HttpResponse(t.render(c))
谢谢。我在超级页面之前移动了媒体urlpattern,并且我有我需要的。但我还有一个问题。我应该尝试用中间件解决这个问题吗?哪种解决方案更优化?或者,也许在正确的队列中移动这个urlpatterns是可以接受的?不管怎样,谢谢。我挣扎了几个小时,这个问题:) –
这两种方法都是'最佳':)。如果您希望您的应用轻松重复使用,在“MIDDLEWARE_CLASSES”中添加条目可能比添加URL模式稍微简单一些,但这仅仅是我的看法。 – brutasse