New to Django.
When I submit a signup form with this, the password is human readable in the
database. It seems like it should be hashed?
Looking at some Google pages, it seems I need to subclass UserCreationForm.
I tried that instead of forms.ModelForm and now it complains my form doesn't
have "password1" and "password2"; which is not what I want. I just want a
single password field.
Can someone give me pointers on how I should go about this?
Thanks!
Models:
class User(models.Model):
name = models.CharField(max_length=32)
username = models.CharField(max_length=16, primary_key=True)
mail = models.EmailField(max_length=254)
password = models.CharField(max_length=64)
status = models.CharField(max_length=32)
create_tstamp = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
user = "%s: %s, %s" % (self.username, self.mail, self.name)
return user
class SignupForm(forms.ModelForm):
class Meta:
model = User
fields = ["username", "mail", "password"]
View:
def signup(request):
if request.POST:
form = SignupForm(request.POST)
if form.is_valid():
newUser = form.save()
return HttpResponseRedirect(reverse('dashboard'))
else:
form = SignupForm()
return render(request, "registration/signup.html", {'form': form,})
I am using Bootstrap and here is my signup.html for reference:
<form class="form-signin" method="post" action="">
{% csrf_token %}
<h4 class="form-signin-heading">Signup for Globexch account</h4>
<p>It's free. You can also <a href="/login">Login</a>.</p>
{% if form.username.errors %}
<p class="alert alert-warn">{{ form.username.errors|join:", " }}</p>
{% endif %}
<input id="id_username" type="text" name="username" {% if
form.username.value %}value="{{ form.username.value }}" {% endif %}
class="input-block-level" placeholder="Login name">
{% if form.mail.errors %}
<p class="alert alert-warn">{{ form.mail.errors|join:", " }}</p>
{% endif %}
<input id="id_mail" type="text" name="mail" {% if form.mail.value
%}value="{{ form.mail.value }}" {% endif %} class="input-block-level"
placeholder="[email protected]">
{% if form.password.errors %}
<p class="alert alert-warn">{{ form.password.errors|join:", " }}</p>
{% endif %}
<input id="id_password" type="password" name="password"
class="input-block-level" placeholder="Password">
<button class="btn btn-large btn-primary" type="submit">Let me
in</button>
</form>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.