"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
作成するサンプルsrcとは何ですか?おそらく 'relative_path'で何らかの処理を行う必要があります。問題は何をする必要があるかです。 – FakeRainBrigand
@FakeRainBrigand:これは、404で生成され、報告されたURLです。http://127.0.0.1:8000/assets/assetrepository/asset1.html - これは、HTMLソースの外観です。 - これは表示方法です: – Falcon
できますか資産モデルのコードを追加しますか? – Julian