django MEDIA_URL изменения в дочернем шаблоне? - PullRequest
0 голосов
/ 15 августа 2011

У меня есть эти URL-адреса в моем проекте .urls:

urlpatterns = patterns('',
    (r'^categories/', include('category.urls')),
)

В приложении категории, мои категории.urls:

urlpatterns = patterns('category.views',
    (r'^$', 'category_tree'),
    (r'^add/?$', 'category_add'),)

У меня есть это в settings.py:

MEDIA_URL = "http://localhost:80/media/"
ROOT_PATH = os.path.normpath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
    os.path.join(ROOT_PATH, 'templates'),
)

В каталоге шаблонов проекта есть базовый шаблон "base.html" с этой строкой:

<link href="{{MEDIA_URL}}css/base.css" rel="stylesheet" />

В моем приложении "category" у меня также есть шаблоны "category_tree.html "и" category_add.html ".Они оба взяты из base.html:

{% extends "base.html" %}

Блоки в base.html правильно отображаются с содержимым из этих двух дочерних шаблонов / представлений.Но CSS и изображения category_add.html не найдены.

Существует ссылка на categoryroy_tree.html, подобная этой:

<div><a href="add">Add category</a></div>

Это указывает на правильное представление при нажатии.Но затем запрос css MEDIA_URL изменится с

http://localhost/media/css/base.css
// (Correct)

на

http://localhost:8000/categories/css/base.css
// (Incorrect)

Почему это происходит и что мне нужно сделать, чтобы это исправить?

1 Ответ

2 голосов
/ 15 августа 2011

Представление добавления категории не использует RequestContext для отображения страницы, поэтому MEDIA_URL не отправляется в контекст шаблона.

...