2012-01-05 43 views
2

我有一个包含相对网址的模型,类似“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 
+0

它创建的src示例是什么,以及您想要的示例是什么?你可能需要在'relative_path'上做一些处理。问题是*需要做什么*。 – FakeRainBrigand 2012-01-05 23:35:08

+0

@FakeRainBrigand:这是使用404生成并报告的URL:http://127.0.0.1:8000/assets/assetrepository/asset1.html - 这就是html源代码的样子: