Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 将上下文从一个视图传递到另一个视图_Django_Python 3.x_Django Views_Django Urls - Fatal编程技术网

Django 将上下文从一个视图传递到另一个视图

Django 将上下文从一个视图传递到另一个视图,django,python-3.x,django-views,django-urls,Django,Python 3.x,Django Views,Django Urls,我正在尝试将URL参数传递给我的应用程序中的另一个视图。我目前有一个函数(EntryListView),它标识您选择的月份,然后只显示该月份的内容。但是,我希望这个月也能显示在详细信息URL中。这将启用“返回”按钮导航回当月页面,而不是出错或导航回登录页面 url.py原样: url(r'entry/list/(?P<month>\w+)$', views.EntryListView.as_view(), name='entry-list'), url(r'entry/detail

我正在尝试将URL参数传递给我的应用程序中的另一个
视图
。我目前有一个函数(
EntryListView
),它标识您选择的月份,然后只显示该月份的内容。但是,我希望这个月也能显示在
详细信息
URL中。这将启用“返回”按钮导航回当月页面,而不是出错或导航回登录页面

url.py原样:

url(r'entry/list/(?P<month>\w+)$', views.EntryListView.as_view(), name='entry-list'),

url(r'entry/detail/(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
模板

<a href="{% url 'argent:entry-list' %}">
                        <button type="button" class="btn btn-primary">Go Back
                    </button>
            </a>

我当前在使用
{%url'银色:条目列表'%}
时遇到此错误:

未找到参数为“()”且关键字参数为“{}”的“条目列表”的反向。尝试了1个模式:[“跟踪器/条目/列表/(?P\\w+)$”]


提前感谢您的帮助

您可以将详细信息的月份作为kwarg传递给
url
模板标记。这样的办法应该行得通

class DetailView(generic.DetailView):
    model = Entry
    template_name = 'argent/detail.html'

    def get_context_data(self, **kwargs):
        ctx = super(DetailView, self).get_context_data(**kwargs)
        ctx['current_month'] = self.get_object().date.strftime("%B")
        return ctx
template.html

<a href="{% url 'argent:entry-list' current_month %}">
     <button type="button" class="btn btn-primary">Go Back</button>
</a>


谢谢您的回复!在实现此解决方案时,我似乎遇到了此错误:
super(type,obj):obj必须是类型
的实例或子类型。它还告诉我“DetailView”不是“EntryListView”的实例或子类。哦,好吧,我试过了,但没有更新“当前月份”。还有一件事,我现在得到一个错误,它说:
“EntryListView”对象不可编辑。我现在意识到,我在我的帖子中没有显示超过一个月,对此我感到抱歉。我已经更新了我的帖子,在
EntryListView
中包含了3个月。非常感谢您的帮助。您的问题没有任何东西可以触发
“EntryListView”对象不可编辑。
错误,请检查您的代码。如果您只想获取条目详细信息的月份,以便显示列表页面的链接,则只需执行
{%url'argent:entry list'entry.date | date:“F”}
即可获取当前条目对象的月份。好的,这很有意义。但是,当我在
DetailView
中打印(ctx['current_month'])
时,我得到“无”。但是,当我在
EntryListView中
print(month)
时,我会得到我要查找的月份,例如“11月”。它似乎没有提取所需的数据。这可能是它给我错误的原因吗?对不起,我以为你当前的url配置就是你发布的“未来”url配置。您可以获取对象的月份,然后将其传递给模板。请参阅更新的答案。
<a href="{% url 'argent:entry-list' current_month %}">
     <button type="button" class="btn btn-primary">Go Back</button>
</a>