ich habe nach folgenden Anleitungen, welche eigentlich das selbe beschreiben, versucht einem User zusätzliche Felder zu geben, so das ich mehr Infos zum einzelnen User speichern kann.
http://www.djangoproject.com/documentat ... bout-users
http://www.b-list.org/weblog/2006/jun/0 ... ser-model/
Mein Code sieht jetzt so aus:
models.py
Code: Alles auswählen
from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
matrikelnr = models.IntegerField()
ip = models.CharField(max_length=15)
mac = models.CharField(max_length=17)
user = models.ForeignKey(User, unique=True)
Code: Alles auswählen
def registrieren(request):
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
ip = request.META.get('REMOTE_ADDR')
formdata = form.cleaned_data
username = formdata["username"]
firstname = formdata["firstname"]
lastname = formdata["lastname"]
matrikelnr = formdata["matrikelnr"]
password = formdata["password"]
email = "platzhalter@platzhalter.de"
try:
user = User.objects.get(username = username)
#eigentlich eine neue Seite
return HttpResponse("Kann den Nutzer nicht anlegen, da er schon existiert")
except:
# Erstelle den user
user = User.objects.create_user(username, email)
# Setze die Standart Felder
user.set_password(password)
user.first_name = firstname
user.last_name = lastname
# Setze die Profil Felder
p = user.get_profile() ### <--------
p.ip = ip ### <--------
# Lege den Nutzer an
user.save()
#und sende vielleicht noch eine Mail
return http.HttpResponse("User angelegt")