【问题标题】:Django - Passing the model name to a view from urlDjango - 将模型名称从 url 传递给视图
【发布时间】:2014-07-03 13:03:17
【问题描述】:

我将如何做到这一点,以便我可以将模型名称作为 url 中的参数传递给视图?我想重用这个视图,只传递模型名称以显示参数是什么模型的列表。

这就是我目前所拥有的

查看

class ModelListView(ListView,objects):

    model = objects
    template_name = "model_list.html"

    def get_context_data(self,**kwargs):
        context = super(ModelListView, self).get_context_data(**kwargs)
        context['listobjects'] = model.objects.all()
        return context

网址

url(r'^musicpack', MusicPackListView.as_view(), name='musicpack-list', objects = 'MusicPack'),
url(r'^instruments', MusicPackListView.as_view(), name='instrument-list', objects = 'Instrument'),

已回答

谢谢你的回答

我已经完成了以下操作,它似乎有效。

查看

class ModelListView(ListView):

    template_name = "model_list.html"

    def get_context_data(self,**kwargs):
        context = super(ModelListView, self).get_context_data(**kwargs)
        return context

网址

#models
from inventory.views import MusicPack
from inventory.views import Instrument
#views
from inventory.views import ModelListView

    url(r'^musicpacks', ModelListView.as_view(model = MusicPack,), name='musicpack-list'),
    url(r'^instruments', ModelListView.as_view(model = Instrument,), name='instrument-list'),

【问题讨论】:

    标签: django url views models


    【解决方案1】:

    我会将参数从 url 传递到如下视图:

    观看次数:

    class ModelListView(ListView):
    
        model = None
        model_name= ''
        object = None
    
        template_name = "model_list.html" 
    
        def get_context_data(self,**kwargs):
            context = super(ModelListView, self).get_context_data(**kwargs)
            context['listobjects'] = model.objects.all()
            return context
    

    网址:

    url(r'^musicpack', ModelListView.as_view( model= MusicPackList,model_name= 'music_pack_list' object = 'MusicPack')),
    url(r'^instruments', ModelListView.as_view( model=InstrumentPackList,model_name= 'instrument_pack_list', object= 'InstrumentPack'))
    

    【讨论】:

      猜你喜欢
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-11
      • 1970-01-01
      • 2013-07-29
      • 1970-01-01
      相关资源
      最近更新 更多