zoukankan      html  css  js  c++  java
  • 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实现

  • 相关阅读:
    HDU.2899.Strange fuction(牛顿迭代)
    BZOJ.3771.Triple(母函数 FFT 容斥)
    树的实现(2)
    树的练习
    死锁问题
    进程的三种状态
    线程的同步与实现
    进程间通信详解
    进程和线程以及它们的区别
    https协议
  • 原文地址:https://www.cnblogs.com/phyger/p/9114213.html
Copyright © 2011-2022 走看看