【问题标题】:How can I change the view site link in Django admin, depending on which app is used?如何根据使用的应用程序更改 Django 管理中的查看站点链接?
【发布时间】:2020-11-17 08:04:31
【问题描述】:

我正在制作一个项目,其中每个客户都有自己的应用程序。这是因为他们有相似的页面,但不完全相同,所以我认为为每个新客户复制一个应用程序是一个好方法(我可能错了)。我还没有尝试过,我还在计划中。我发现管理员中的查看站点链接存在一个问题。我会让客户使用管理员。如何将查看站点链接设置到客户端的主页?解决它的一种方法是保持原样并使用一个功能检查用户名并重定向到正确的应用程序。但是有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: django django-users django-apps


    【解决方案1】:

    我认为为用户生成应用程序不是一个好主意,因为一旦达到特定数量的用户,这就太多了。

    他们有相似的页面,但不完全相同

    那么你应该做的是,在让用户进入你的视图之后,将不同的上下文传递给你的模板。比如:

    def my_view(request):
        # First assign different context to different users
        context = {'data': 'whatever each user gets', 'other': 'put in more than 1 data',}
        return render(request, 'myapp/index.html', context)
    

    我会让客户使用管理员

    这不是一个好主意,因为客户端必须是超级用户才能查看管理站点。否则,您需要更改超级用户的权限,如果您是站点的维护者,则需要单独创建一个超级用户,以及各种麻烦。只需花点时间制作您自己的模板。

    【讨论】:

    • 用户数量有限。对于每个用户,我只有一个页面,其中有一个表格,但列数不同,标题也不同,这意味着我必须动态构建表格。也许这是一个更好的主意,如果我能弄清楚的话。您无需成为超级用户即可使用管理员。我也可以成为员工,然后我可以轻松授予权限。
    猜你喜欢
    • 2021-12-19
    • 1970-01-01
    • 2021-06-16
    • 2010-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2014-03-15
    相关资源
    最近更新 更多