获取url并将实例添加到具有预填充外键的模型:django admin

时间:2013-03-13 08:18:58

标签: django django-templates django-admin django-views

我有一个页面,每个比赛都会连续显示。每一行都包含比赛ID,并链接到其他具有外键比赛的模型名称。喜欢新闻模式:

class News(models.Model):
    title = models.CharField(max_length=50, null=True)
    description = models.TextField()
    time = models.TimeField( default= datetime.datetime.now().time())
    contest = models.ForeignKey(Contest)

我想使用admin添加和更改这些模型。我希望当用户点击具有外键竞争id = 1的“新闻”时,它只显示具有此外键值的新闻列表。所以我用

{% for instance in instances %}
                    <tr class="{% cycle 'row1' 'row2' %}">
                        <td>{{ instance.title }}</td>
                        <td>{{ instance.startTime }}</td>
                        <td>{{ instance.timeSpan }}</td>
                        <td>{{ instance.date }}</td>                      
                        <td><a href="/admin/ContestManagement/news/?contest__id__exact={{ instance.id }}">News</a></td>                       
                {% endfor %}

现在,当我点击此链接时,它会根据我的需要显示具有此特殊比赛ID的新闻列表。现在我想知道我怎么能理解这个模板(用比赛ID过滤的change_list),在这个页面中有什么比赛ID为这个比赛ID添加新闻以及我做了什么? (因为当前的网址是:/ admin / ContestManagement / news / add / <code>enter image description here</code> 我在模板中尝试了{{request}},但它是空的!! 非常感谢你的帮助

1 个答案:

答案 0 :(得分:1)

如果{{request}}为空,则必须在 settings.py TEMPLATE_CONTEXT_PROCESSORS 中添加 django.core.context_processors.request >

请参阅:https://docs.djangoproject.com/en/dev/ref/templates/api/#django-core-context-processors-request