0

lese ich durch diese Dokumente auf Django sein: https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#extending-userVersuchen, Benutzertypen zu erstellen: "Client" und "Mitarbeiter". Möchten alle Benutzer, die vor Ort registrieren Clients, die sehen andere Seite als Mitarbeiter

Ich bin nur nicht sicher, welcher Weg zu gehen. Sie empfehlen die Verwendung eines benutzerdefinierten Benutzermodells wie folgt:

Tun Sie dies, was wäre das Verfahren, um zwei verschiedene Benutzertypen zu machen. Sollte ich etwas in der Art haben:

class Client(AbstractUser): 
     pass 

class Employee(AbstractUser): 
     pass 

Aber wie würden neue registrierte Benutzer dann "Kunden" sein, wenn sie sich anmelden? Und wie würde ich es schaffen, dass sie einen anderen Teil der Website sehen als Mitarbeiter?

Ich bin nur auf der Suche nach einer Anleitung, wie ich das angehen sollte.

+0

Sie wählen Benutzer Kunden oder Mitarbeiter sein? Sollte das nicht eine Aufgabe für einen Administrator sein? Wenn Sie das Benutzermodell erweitern, können Sie auch ein Feld hinzufügen, um einen Kunden oder Mitarbeiter auszuwählen, anstatt zwei separate Modelle zu erstellen. –

+0

@guillermochamorro Ja, nur django admin sollte das einstellen können. – questnofinterest

Antwort

1

Sie sprechen nur eine Frage von Berechtigungen an, oder benötigen 'Client' und 'Mitarbeiter' ihre eigene spezifische Funktionalität? Wenn es nur um Berechtigungen geht, wäre es einfacher, die permissions functionality of the auth library zu verwenden.

Sie können dann Ihre Ansichten mit der permissions decorator schützen.

Aus der Dokumentation:

from django.contrib.auth.decorators import permission_required 

@permission_required('polls.can_vote', login_url='/loginpage/') 
def my_view(request): 
    ... 
+0

Ich denke, es würde unter den Bedarf fallen, ihre eigene spezifische Funktionalität zu verlangen, weil ich auch möchte, dass sie in der Lage sind, verfügbare Stunden und solche Sachen zu stellen, die nur den Angestellten betreffen. Daher möchte ich, dass ihr Benutzerportal/Dashboard völlig anders ist. – questnofinterest

+0

Oder glaubst du, dass ich das nur mit Berechtigungen machen kann? – questnofinterest

+0

Sie können verwalten, was sie durch Berechtigungen sehen. Um jedoch spezifische Daten zu speichern, müssten Sie das Modell erweitern. –

Verwandte Themen