首页 > 解决方案 > 如何使用 django 中的 postgres 数据库使用(用户名、电子邮件、密码、年龄和性别)创建登录和注册表单?

问题描述

from django.db import models

# Create your models here.

class UserInfo(models.Model):

    Username= models.CharField(primary_key=True, null=False,max_length=200)
    email= models.CharField(max_length=200)
    password= models.CharField(max_length=200)
    age= models.CharField(max_length=2,null=True)
    gender=models.CharField( null=True,max_length=200)

    def __str__(self):
        return self.username

我不太了解 Django 表单或 Django ORM。我已经连接了 postgres SQL 并设置了 URL。但不知道如何验证用户。

标签: djangodjango-modelsdjango-formsdjango-viewsdjango-templates

解决方案


from django.db import models

# Create your models here.

class UserInfo(models.Model):

    Username= models.CharField(primary_key=True, null=False,max_length=200)
    email= models.CharField(max_length=200)
    password= models.CharField(max_length=200)
    age= models.CharField(max_length=2,null=True)
    gender=models.CharField( null=True,max_length=200)



    def __str__(self):
        return self.username

from django.db import models

# Create your models here.

class UserInfo(models.Model):

    Username= models.CharField(primary_key=True, null=False,max_length=200)
    email= models.CharField(max_length=200)
    password= models.CharField(max_length=200)
    age= models.CharField(max_length=2,null=True)
    gender=models.CharField( null=True,max_length=200)



    def __str__(self):
        return self.username
from django.shortcuts import render

# Create your views here.

def profile(request):
    return render(request,'profile.html')

def login(request):
    return render(request,'login.html')

def register(request):
    return render(request,'register.html')
{% extends 'base.html'%}

{%block title%} register {%endblock title%}

{%block style%}
     

{%endblock style%}

{% block body%}
<div class="container register">
         <form action="" method="POST">
         {% csrf_token %}
         <div class="container">
            <h1>Register</h1>
            <p>Please fill in this form to create an account.</p>
            <hr>
            <label for="email"><b>Email</b></label>
            <input type="email" placeholder="Enter Email" name="email" id="email" required><br>
            <label for="username"><b>username</b></label>
            <input type="text" placeholder="Enter username" name="username" id="username" required>
            <label for="age"><b>Age</b></label>
            <input type="text" placeholder="Enter age" name="age" id="age" required>
            <label for="age"><b>gender</b></label>
            <input type="text" placeholder="Enter gender" name="gender" id="gender" required>
            <label for="password1"><b>Password</b></label>
            <input type="password" placeholder="Enter Password" name="password1" id="password1" required>
            <label for="password2"><b>Repeat Password</b></label>
            <input type="password" placeholder="Repeat Password" name="password2" id="password2" required>
            <hr>
            <button type="submit" class="registerbtn">Register</button>
         </div>
         <div class="container signin">
            <p>Already have an account? <a href="/login">Sign in</a>.</p>
         </div>
      </form>
      <div>
      {%for message in messages %}
        <h4>{{message}}</h4>
        
      {%endfor%}

    


      </div>

      </div>
{% endblock body%}


推荐阅读