【发布时间】:2020-05-18 16:34:48
【问题描述】:
我搜索了一段时间,但还是没有弄清楚。 假设我们有一个 models.py,其中包含 3 个模型 dogs、cats 和 birds。在 url.py 中,我们希望有一行可以与每个模型类型的通用 ListView 和 DetailView 一起使用。我们的 views.py 是动态的,并接受来自 url.py 的模型。
例如:
from django.urls import path
from django.views.generic import TemplateView
from . import views
from . import models
urlpatterns = [
path('animals/<???>/', views.AnimalList.as_view(template_name = 'animals.html', model = ???), name='lots'),
]
所以当我们转到 .../animals/dogs 时,它会从 dog 中加载数据,或者当我们转到 .../animals/cats 时,我们会从 cat 表中获取数据,依此类推。 我们如何做到这一点?
附言我有基于通用的工作views.py,所以我不在这里分享它:)
【问题讨论】:
-
你见过this SO 帖子,它似乎处理了类似的问题吗?
-
嗨,克里斯,谢谢,我已经看到了,但我已经实现了一个视图,它可以接受任何传递给它的模型。我的问题与 url 配置和从 urls.py views.AnimalList.as_view(model = {dynamically put models here}) 传递模型有关。
标签: python django generics url view