我有一个包含相对网址的模型,类似“abc.html”。在iframe中显示相对网址
我想在视图的iframe中显示相对url。这些网址可以是动态的,它们来来去去,所以我不认为我可以通过静态文件解决这个问题。
但是,我无法得到它的工作,我想可能是我的URL配置或东西:
这是我的观点:
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有关。
也许有一种方法可以从iframe src的相对路径派生绝对URL。
编辑:
代码模型(这是真的那么渺茫ATM)
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 2012-01-05 23:35:08
@FakeRainBrigand:这是使用404生成并报告的URL:http://127.0.0.1:8000/assets/assetrepository/asset1.html - 这就是html源代码的样子: - 这就是我想要的样子:
您能否请添加资产模型的代码? – Julian 2012-01-05 23:52:00