且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Django 中两个模型的一个 url 模式

更新时间:2022-12-10 23:11:09

我认为没有办法说您想继续从视图中浏览 url.但是,您可以创建一个调用正确视图的视图.我以前做过这样的事情.类似的东西:

I don't think there is a way to say that you want to continue looking through the urls from a view. You could, however, create a view which calls the correct view. I did something like this before. Something like:

class GameCategoryFactory(View):
    def dispatch(self, request, *args, **kwargs):
        game_or_category_slug = kwargs.pop('slug')

        if Category.objects.filter(name=game_or_category_slug).count() != 0:
            return CategoryView.as_view()(request, *args, **kwargs)
        elif Game.objects.filter(name=game_or_category_slug).count() != 0:
            return GameView.as_view()(request, *args, **kwargs)
        else:
            raise Http404

当然,我使用的是基于类的视图.基于函数的方法应该非常简单.

Of course, I am using class-based views. A function-based approach should be pretty straight-forward.