2012-01-05 5 views
2

У меня есть модель, которая содержит относительный URL-адрес, что-то вроде «abc.html».Показать относительный url в iframe

Я хочу отобразить этот относительный url в iframe представления. URL-адреса могут быть динамическими, они приходят и уходят, поэтому я не думаю, что могу решить это через статические файлы.

Однако, я не могу заставить его работать, я думаю, что это может быть мой URLconf или что-то:

Вот мое мнение:

def detail(request, asset_id): 
    asset = get_object_or_404(Asset, pk=asset_id) 
    relative_path = asset.asset_path 
    return render_to_response('html/detail.html', {'asset': asset, 'url': relative_path}) 

В основном это моя точка зрения:

<iframe src="{{ url }}" /> 

Но iframe всегда будет отображать 404, потому что Django пытается разрешить файл не так, как структурирован мой каталог приложений. В моем приложении у меня есть папка с активами, в которой живет большинство активов, но я не могу ссылаться на нее. Я думаю, что не могу использовать collectstatic, потому что эти файлы будут меняться во время выполнения, и я не мог заставить его работать как статические файлы.

Не могли бы вы оказать мне руку помощи? Я только начал изучать Django, и такое поведение меня озадачивает. Я думаю, это связано с URLConf.

Возможно, существует способ получить абсолютный url из относительного для iframe src.

Edit:

Код для модели (это на самом деле, что тонкий атм)

class Asset(models.Model): 
    name = models.CharField(max_length=100) 
    asset_path = models.CharField(max_length=4096) 
    creation_date = models.DateTimeField(auto_now=True) 

    def __unicode__(self): 
     return self.name 
+0

Каков пример src, который он создает, и какой пример вы хотите? Вероятно, вам нужно выполнить некоторую обработку на 'relative_path'. Вопрос: * что нужно сделать. – FakeRainBrigand

+0

@FakeRainBrigand: Это URL, который генерируется и сообщается с помощью 404: http://127.0.0.1:8000/assets/assetrepository/asset1.html. Вот как выглядит HTML-источник: