2012-01-05 7 views
2

"abc.html"のような相対URLを含むモデルがあります。iframeの相対URLを表示する

その相対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 }}" /> 

しかし、Djangoは私のapp-directoryの構造ではなくファイルを解決しようとしているので、iframeには常に404が表示されます。私のアプリでは、ほとんどの資産が存在する資産フォルダがありますが、参照できません。これらのファイルは実行時に変更され、静的ファイルとしても動作しないため、collectstaticを使用することはできません。

私は救いの手を貸してくれますか?私はちょうどDjangoの学習を始めました。この動作は私を困惑させます。私はそれがURLConfに関連していると思います。

iframe srcの相対URLから絶対URLを派生させる方法があるかもしれません。

編集:モデルの

コード(それは本当にスリム気圧です)

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:これは、404で生成され、報告されたURLです。http://127.0.0.1:8000/assets/assetrepository/asset1.html - これは、HTMLソースの外観です。