django 用户登陆注册

Posted fengjian1585

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 用户登陆注册相关的知识,希望对你有一定的参考价值。

注册登陆

技术分享

 

views.py

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.shortcuts import render,render_to_response,redirect,HttpResponse
import models
# Create your views here.


def addusertype(request):
    data = models.usertpye.objects.all()
    for item in data:
        print item.id,item.name

    ret = {status:"",typedata:data}

    if request.method == POST:
        name = request.POST.get(name,None)
        is_empty = all([name])
        if is_empty:
            models.usertpye.objects.create(name = name)
            ret[status] = 用户权限添加成功
        else:
            ret[status] = 输入的用户权限为空

    return render_to_response(app01/addusertype.html,ret)

def addgroup(request):
    groupdata = models.usergroup.objects.all()
    ret = {status:"",data:groupdata}

    if request.method == POST:
        groupname = request.POST.get(groupname,None)
        is_empty = all([groupname])
        if is_empty:
            models.usergroup.objects.create(groupname = groupname)
            ret[status] = 用户组添加成功
        else:
            ret[status] = 用户组不能为空

    return render_to_response(app01/addgroup.html,ret)

def adduser(request):
    groupdata = models.usergroup.objects.all()
    typedata = models.usertpye.objects.all()
    userdata = models.user.objects.all()
    ret = {status:"",group:groupdata,type:typedata,user:userdata}

    if request.method == POST:
        username = request.POST.get(username,None)
        password = request.POST.get(password,None)
        email = request.POST.get(email,None)
        type_id = request.POST.get(typeuser,None)
        group_id = request.POST.get(groupuser,None)

        t1 = models.usertpye.objects.get(id = type_id)
        g1 = models.usergroup.objects.get(id = group_id)

        is_empty = all([username,password,email,type_id,group_id])
        if is_empty:
            u1 = models.user.objects.create(username=username,password=password,email=email,usertpye_id=t1)
            g1.user_group_manytomany.add(u1)
        else:
            ret[status] = 填写的内容不能为空

        # obj = models.user.objects.filter(usertpye_id__groupname=DBA组)
        # print obj.query

    return render_to_response(app01/adduser.html,ret)

 

models.py

from __future__ import unicode_literals

from django.db import models

# Create your models here.

class usertpye(models.Model):
    name = models.CharField(max_length=50)

class user(models.Model):
    username = models.CharField(max_length=50)
    password = models.CharField(max_length=50)
    email = models.EmailField()
    usertpye_id = models.ForeignKey(usertpye)

class usergroup(models.Model):
    groupname = models.CharField(max_length=50)
    user_group_manytomany = models.ManyToManyField(user)

class asset(models.Model):
    hostname = models.CharField(max_length=50)
    ip = models.GenericIPAddressField()
    SN = models.CharField(max_length=30)
    manageip = models.GenericIPAddressField()
    buydata = models.DateField(auto_now=True)
    serverdata = models.DateField(auto_now_add=True)
    pinpai = models.CharField(max_length=50)
    memory = models.CharField(max_length=40)
    cpu = models.CharField(max_length=40)
    usergroup_id = models.ForeignKey(usergroup)

urls.py

urlpatterns = [
    url(r^addusertype/,views.addusertype),
    url(r^addgroup/,views.addgroup),
    url(r^adduser/,views.adduser),
]


addgroup.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主机管理</title>
    <style type="text/css">
        #customers td, #customers th
          {
          font-size:1em;
          border:1px solid #98bf21;
          padding:3px 7px 2px 7px;
          }

        #customers th
          {
          font-size:1.1em;
          text-align:left;
          padding-top:5px;
          padding-bottom:4px;
          background-color:#A7C942;
          color:#ffffff;
          }

        #customers tr.alt td
          {
          color:#000000;
          background-color:#EAF2D3;
          }
            </style>
</head>
<body>
<div class="div">
<h1> 添加权限 </h1>
    <form action="/app01/addgroup/" method="POST">
        <p><input type="text" name="groupname" placeholder="groupname"/></p>
        <input type="submit" name="增加"/><span style="color: #cc0000;font-size: 12px">{{ status }}</span>
    </form>
</div>
<hr/>
<div>
<h1> 显示用户组 </h1>
    <table border="1px">
        <tr>
            <td>ID</td>
            <td>groupname</td>
        </tr>
        {% for item in data %}
        <tr>
            <td>{{ item.id }}</td>
            <td>{{ item.groupname }}</td>
        </tr>
        {% endfor %}
    </table>
</div>
</body>
</html>

 

adduser.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主机管理</title>
    <style type="text/css">
        #customers td, #customers th
          {
          font-size:1em;
          border:1px solid #98bf21;
          padding:3px 7px 2px 7px;
          }

        #customers th
          {
          font-size:1.1em;
          text-align:left;
          padding-top:5px;
          padding-bottom:4px;
          background-color:#A7C942;
          color:#ffffff;
          }

        #customers tr.alt td
          {
          color:#000000;
          background-color:#EAF2D3;
          }
            </style>
</head>
<body>
<div class="div">
<h1> 添加权限 </h1>
    <form action="/app01/adduser/" method="POST">
        <p><input type="text" name="username" placeholder="username"/></p>
        <p><input type="text" name="password" placeholder="password"/></p>
        <p><input type="text" name="email" placeholder="email"/></p>
        <p><select name="typeuser">
            {% for item in type %}
            <option value="{{ item.id }}">{{ item.name }}</option>
            {% endfor %}
        </select>
        </p>
        <p><select name="groupuser">
            {% for item in group %}
            <option value="{{ item.id }}">{{ item.groupname }}</option>
            {% endfor %}
        </select>
        </p>
        <input type="submit" name="增加"/><span style="color: #cc0000;font-size: 12px">{{ status }}</span>
    </form>
</div>
<hr/>
<div>
<h1> 显示用户组 </h1>

    <table border="1px">
        <tr>
            <td>ID</td>
            <td>usrname</td>
            <td>password</td>
            <td>email</td>
            <td>usertype</td>
            <td>usergroup</td>
        </tr>
        {% for item in user %}
        <tr>
            <td>{{ item.id }}</td>
            <td>{{ item.username }}</td>
            <td>{{ item.password }}</td>
            <td>{{ item.email }}</td>
            <td>{{ item.usertpye_id.name }}</td>
            <td>{{ item.usertpye_id.groupname }}</td>
        </tr>
        {% endfor %}
    </table>

</div>
</body>
</html>


addusertype.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>主机管理</title>
    <style type="text/css">
        #customers td, #customers th
          {
          font-size:1em;
          border:1px solid #98bf21;
          padding:3px 7px 2px 7px;
          }

        #customers th
          {
          font-size:1.1em;
          text-align:left;
          padding-top:5px;
          padding-bottom:4px;
          background-color:#A7C942;
          color:#ffffff;
          }

        #customers tr.alt td
          {
          color:#000000;
          background-color:#EAF2D3;
          }
            </style>
</head>
<body>
<div class="div">
<h1> 添加权限 </h1>
    <form action="/app01/addusertype/" method="POST">
        <p><input type="text" name="name" placeholder="name"/></p>
        <input type="submit" name="增加"/><span style="color: #cc0000;font-size: 12px">{{ status }}</span>
    </form>
</div>
<hr/>
<div>
<h1> 显示所有权限名称 </h1>
    <table border="1px">
        <tr>
            <td>ID</td>
            <td>Name</td>
        </tr>
        {% for item in typedata %}
        <tr>
            <td>{{ item.id }}</td>
            <td>{{ item.name }}</td>
        </tr>
        {% endfor %}
    </table>
</div>
</body>
</html>

 

以上是关于django 用户登陆注册的主要内容,如果未能解决你的问题,请参考以下文章

Django+xadmin打造在线教育平台

Django第七天(项目注册,登陆,删,查)

python测试开发django-42.auth模块登陆认证

Django django-allauth 实现第三方授权登陆平台(百度和github为例)

使用 Django 模板作为片段

Django用户注册邮箱验证实践