django - 如何使用 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。但不知道如何验证用户。
解决方案
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%}
推荐阅读
- c++ - 在 C++ 中将一个大哈希拆分为较小的哈希
- mysql - 如何编写查询以使用表 A 和 C 中的数据更新表 B?有数百个 id 来连接两个表
- arrays - 在 Google Sheet 公式中的查询之前添加索引列
- json - 基于 Json 模式条件的属性值
- flutter - 将数据显示为 GridView 而不是 ListView
- python - 通过models.py进行简单计算的一个问题
- c# - Asp.net Blazor 服务器应用程序无法在具有 OIDC 的 Kubernetes 中重定向
- strapi - Strapi 媒体 GCP 存储
- javascript - 如何渲染几秒钟后消失的视图(反应原生)
- java - 未检测到 Java 不可转换类型