我有一组 URL,我想检索与该 URL 关联的 django 模型,而不是 reverse URL Dispatcher does 的 django View 。 。理想情况下,代码应如下所示:
urls_to_lookup = get_urls_to_lookup()
models = []
for url in urls_to_lookup:
model = retrieve_django_model(url)
models.append(model)
由于我想查找的网址具有与其关联的独特模型(通过 @permalink
decorator ),这似乎是可能的,但我的谷歌技能却空手而归。感谢您的帮助!
编辑如果它有助于集思广益解决方案,我将从 Google Analytics 中提取所有博客文章的这些 URL,并且我希望动态显示最常查看的页面。 URL 本身很有帮助,但我想获取每篇博客文章的标题、预告片等以供显示,这些都存储在数据库中。
最佳答案
如果您正在尝试创建站点地图;有sitemaps contrib app .
如果您尝试以良好的格式打印出所有 URL,请参阅 this answer .
我试图想出拥有这样一个功能的原因,但我却想不起来。但是,这应该可以满足您的要求(未经测试):
from django.db import models
def retrieve_django_model(url):
m_instances = [m for m in models.get_models() \
if m.objects.all().count()]
for m in m_instances:
if m.objects.all().order_by('?')[0].get_absolute_url() == url:
return m
else:
return None
由于我们只能从实例而不是模型中获取绝对 URL,因此初始列表理解会过滤掉那些没有实例的模型,因此我们无法获取绝对 URL。
关于django - 将 django url 反转为对象,而不是 View 。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9789355/