在Django 1x中,我可以使用URL中的两个id创建URL,如下所示:
在网址.py在
('^profile/(?P<cpk>[0-9]+)/env/(?P<envid>[0-9]+)/$', views.EnvironmentDetailView.as_view(), name='environment'),
HTML模板
^{pr2}$在模型.py在
class Environment(models.Model):
...
...
def get_absolute_url(self):
return reverse('myapp:envmanager', args =[self.client.pk])
在视图.py在
class EnvironmentDetailView(generic.DetailView):
'''Detail view of environment'''
model = Environment
pk_url_kwarg ="envid"
template_name = 'myapp/environment.html'
但当我升级到Django 2.0时,我尝试了:
在网址.py在
path('profile/<int:client_id>/env/<int:pk>/', views.EnvironmentDetailView.as_view(), name='environment'),
html模板
"{% url 'myapp:environment' client_id=environment.client.id pk=environment.id %}"
在视图.py在
class EnvironmentDetailView(generic.DetailView):
'''Detail view of environment'''
model = Environment
pk_url_kwarg ="environment_id"
template_name = 'myapp/environment.html'
然后得到了这个错误
AttributeError: Generic detail view EnvironmentDetailView must be called with either an object pk or a slug.
如何正确引用带有两个id的URL链接?在
目前没有回答
相关问题 更多 >
编程相关推荐