📜  Plusieurs sites d'administration dans la meme URLconf - Python (1)

📅  最后修改于: 2023-12-03 15:18:36.666000             🧑  作者: Mango

Plusieurs sites d'administration dans la même URLconf - Python

Lorsque vous concevez une application web en Python, il est possible que vous ayez besoin d'avoir plusieurs sites d'administration dans la même URLconf Django. Cela peut sembler compliqué, mais c'est très facile à réaliser.

Dans cet article, nous allons vous montrer comment créer plusieurs sites d'administration dans la même URLconf en Python.

Créer plusieurs sites d'administration dans la même URLconf

Le moyen le plus simple de créer plusieurs sites d'administration dans la même URLconf est d'utiliser la fonctionnalité AdminSite de Django.

Voici un exemple de code:

from django.contrib.admin import AdminSite

class AdminSite1(AdminSite):
    site_header = 'Site1 Administration'

class AdminSite2(AdminSite):
    site_header = 'Site2 Administration'

admin_site1 = AdminSite1()
admin_site2 = AdminSite2()

# Ensuite, vous pouvez enregistrer les modèles pour chaque site d'administration:

admin_site1.register(User)
admin_site2.register(Comment)

Dans cet exemple, nous avons créé deux sites d'administration (AdminSite1 et AdminSite2) avec des noms de site différents. Nous avons également enregistré les modèles pour chaque site d'administration.

Ensuite, vous pouvez ajouter chaque site d'administration dans votre URLconf Django en utilisant les vues génériques AdminSite.as_view():

from django.urls import path

urlpatterns = [
    path('admin1/', admin_site1.urls),
    path('admin2/', admin_site2.urls),
]

Dans cet exemple, nous avons ajouté deux URL pour chaque site d'administration (admin1/ pour AdminSite1 et admin2/ pour AdminSite2). Chaque URL utilise la vue générique AdminSite.as_view() pour afficher le site d'administration correspondant.

Conclusion

Créer plusieurs sites d'administration dans la même URLconf est facile en Python avec l'utilisation de la fonctionnalité AdminSite de Django. Il vous suffit de créer chaque site d'administration avec des noms et des modèles différents, puis de les ajouter à votre URLconf en utilisant les vues génériques AdminSite.as_view().