django实现密码非加密的注册(数据对象插入)

Posted phyger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django实现密码非加密的注册(数据对象插入)相关的知识,希望对你有一定的参考价值。

数据模型

from django.db import models

class userinfo(models.Model):
    username = models.CharField(max_length=10,unique=True)
    password = models.CharField(max_length=50)
    def __str__(self):
        return self.username

视图

from django.shortcuts import render,render_to_response
from django.http import HttpResponse
from .models import *
# Create your views here.
def index(request):
    return render(request,\'index.html\')
def register(request):
    return render(request,\'register.html\')
def adduser(requset):
    uname = requset.POST[\'user\']
    upwd = requset.POST[\'pwd\']
    try:
        usr = userinfo()
        usr.username=uname
        usr.password=upwd
        usr.save()
        #userinfo.objects.get_or_create(username=uname,password=upwd)
        msg=\'user create success!\'
        all = userinfo.objects.all()
        return render(requset, \'info.html\', {\'msg\': msg, \'all\': all})
    except Exception as e:
        #return render(requset,\'info.html\',{\'msg\':e,\'all\':all})
        return HttpResponse({\'<html>数据重复了<a href="/"><h2>返回</h2></a></html>\'},e)

项目的url

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r\'^admin/\', include(admin.site.urls)),
    url(r\'\',include(\'person.urls\')),
]

APP的url

from django.conf.urls import include, url
from django.contrib import admin
from . import views as vv
urlpatterns = [
    url(r\'^register/$\',vv.register),
    url(r\'^adduser/$\',vv.adduser),
    url(r\'\',vv.index),
]

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Index</title>
</head>
<body>
<h1>Welcome</h1>
<a href="/register/"><h2>注册</h2></a>
</body>
</html>

register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Register</title>
</head>
<body>
<form action="/adduser/" method="POST">
    {% csrf_token %}
    账号:<input type="text" name="user"><br>
    密码:<input type="password" name="pwd"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

info.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Info</title>
</head>
<body>
<h2>{{ msg }}</h2>
<p>到目前为止所有的注册用户列表为:</p>
<li>
    {% for i in all %}
    <ol>{{ i.username }}</ol>
    {% endfor %}
</li>

<a href="/">点击跳转</a>
</body>
</html>

index主页截图

register注册页截图

正确提交截图

错误提交截图

(比如用户重复),实现主要在视图中的adduser方法中,通过except Exception as e:return HttpResponse实现

 

以上是关于django实现密码非加密的注册(数据对象插入)的主要内容,如果未能解决你的问题,请参考以下文章

django实现密码加密的注册(数据对象插入)-结合forms表单实现表单验证

Django框架——Auth模块

Android登录注册功能加密处理

登录到数据库时,Django rest框架不加密密码

Django项目:CRM(客户关系管理系统)--45--37PerfectCRM实现King_admin添加用户时密码加密

如何在将密码保存到用户模型 Django 之前对其进行加密?