zoukankan      html  css  js  c++  java
  • 简单的用户注册,用户登录问题

    views.py下的文件内容

    from django.shortcuts import render
    from django.http import HttpResponse
    from django.http import HttpResponseRedirect
    from django.shortcuts import redirect
    from .models import Users
    from django.contrib.auth import login
    
    
    def index1(request):
        return render(request, 'index1.html')
    
    
    def register(request):
        # 判断是否POST方式,如果是则进行下面的表单处理
        if request.method == 'POST':
    
            email = request.POST.get('email')
            pwd = request.POST.get('pwd')
            nicheng = request.POST.get('nicheng')
    
            try:
    
                Users.objects.create(email=email, pwd=pwd, nicheng=nicheng)  # 创建一个对象实例
    
                return render(request,'index1.html')
    
            except Exception as err:
    
                errStr = err.args[1]
                if 'emailuniq' in errStr:
                    return HttpResponse('<script>alert("用户名重复");location.href="/";</script>')
                elif 'nichenguniq' in errStr:
                    return HttpResponse('<script>alert("昵称重复");location.href="/";</script>')
                return redirect('/')
        else:
            return redirect('/')
    
    
    
    def loginpost(request):
        # if request.method == 'POST':
        #
        #     rs = Users.objects.filter(email=request.POST.get('email'), pwd=request.POST.get('pwd')).first()
        #     # if (rs != ''):
        #     if (rs == None):
        #         # return HttpResponse('<script>alert("无此用户");location.href="/";</script>')
        #         return render(request, 'index1.html')
        #
        #     else:
        #         return HttpResponse('<script>alert("你已登陆");location.href="/";</script>')
        #         # return render(request, 'index1.html')
        #
        # else:
        #
        #     return HttpResponseRedirect('/mokuai2/index1')
        if request.method == 'POST':
            rs = Users.objects.filter(email=request.POST.get('email'), pwd=request.POST.get('pwd')).first()
            request.session['email'] = rs.email
            request.session['pwd'] = rs.pwd
            # return HttpResponseRedirect('/')
            if (rs == None):
                return HttpResponse('<script>alert("请注册后在登陆");location.href="/";</script>')
            else:
                return render(request, 'index1.html')
    def index(request):
            if 'email' in request.session:
                email = request.session['email']
                pwd = request.session['pwd']
                return render(request,'index1.html', {'email': email, 'pwd': pwd})
            else:
                return render(request,'index1.html')
    

      models.py这个可以自动生成 python3.6版本输入(inspectdb)自动生成,复制到文件里就ok了

    from django.db import models
    from django.utils import timezone
    
    class Users(models.Model):
        id = models.BigAutoField(primary_key=True)
        email = models.CharField(unique=True, max_length=255)
        pwd = models.CharField(max_length=60)
        nicheng = models.CharField(unique=True, max_length=255)
        updtime = models.DateTimeField(default=timezone.now())
        role = models.IntegerField(default=1)
        msgnum = models.IntegerField()
        createtime = models.DateTimeField(default=timezone.now())
    
        class Meta:
            managed = False
            db_table = 'users'
    

      其他的基本django框架的基本配置我就不写了,这个是我的主页面

    {% extends 'base1.html' %}
    {% load static %}
    {% block title %}带你走进虚拟的世界{% endblock %}
    {% block content %}
        {#    <button data-toggle="modal" data-target="#myModal">register</button>#}
        <!--头部 s-->
        <div>
            <div id="headerone">
                <ul class="one">
                    <li><a href="http://www.baidu.com">首页</a></li>
                    <li><a href="#">古代言情</a></li>
                    <li><a href="#">现代言情</a></li>
                    <li><a href="#">玄幻仙侠</a></li>
                    <li><a href="#">浪漫青春</a></li>
                    <li><a href="#">悬疑灵异</a></li>
                    <li><a href="#">改编频道</a></li>
                </ul>
                <ul class="two">
                    <li><a href="#">联系客服</a></li>
                    <li><a href="#">我的书架</a></li>
                    <li><a href="#">
                        <button data-toggle="modal" data-target="#myModal">充值</button>
                    </a></li>
                    <li><a href="#">
                        <button data-toggle="modal" data-target="#myModala">登陆</button>
                    </a></li>
                    <li><a href="#">
                        <button data-toggle="modal" data-target="#myModal">注册</button>
                    </a></li>
                </ul>
            </div>
            <div id="kuai">
                <div id="headerbox">
                    <h1 class="logo left"><a href="#"><img src="{% static 'imgs/logo.png' %}"></a></h1>
                    <div id="search">
                        <input class="aa" type="text" autocomplete="off" placeholder="搜索你想要的" name="searchword">
                        <button data-toggle="modal" data-target="#myModal">搜索</button>
                    </div>
    
                </div>
                {#        ===========================================================================#}
                <div id="header2">
    
                    <ul class="aa3">
    
                        <li><a href="#"><span> 全部作品 </span></a></li>
                        <li><a href="#"><span> 排行 </span></a></li>
                        <li><a href="#"><span> 完本 </span></a></li>
                        <li><a href="#"><span> 续费 </span></a></li>
                        <li><a href="#"><span class="v"> 影视改编 </span></a></li>
    
                    </ul>
                </div>
                {#            <div id="header3">#}
                {#                <div class="flexslider">#}
                {#                    <ul class="slides">#}
                {#                        <li><img src="{% static 'imgs/1.jpg' %}" alt="11"></li>#}
                {#                        <li><img src="{% static 'imgs/2.jpg' %}" alt="11"></li>#}
                {#                        <li><img src="{% static 'imgs/3.jpg' %}" alt="11"></li>#}
                {#                        <li><img src="{% static 'imgs/4.jpg' %}" alt="11"></li>#}
                {#                    </ul>#}
                {#                </div>#}
                {#            </div>#}
            </div>
        </div>
            {#        ======================================================================#}
            <!-- 模态框(Modal)   注册页面-->
            <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
                 aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                            <h4 class="modal-title" id="myModalLabel">注册页面</h4>
                        </div>
                        <div class="modal-body">
                          {% include "users/register.html" %}
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                            <button type="button" class="btn btn-primary">提交更改</button>
                        </div>
                    </div><!-- /.modal-content -->
                </div><!-- /.modal -->
            </div>
    {#    #===============================================================================#}
         <!-- 模态框(Modal)   登录界面-->
            <div class="modal fade" id="myModala" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
                 aria-hidden="true">
                <div class="modal-dialog">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                            <h4 class="modal-title" id="myModalLabel">登录界面</h4>
                        </div>
                        <div class="modal-body">
                          {% include "users/login.html" %}
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                            <button type="button" class="btn btn-primary">提交更改</button>
                        </div>
                    </div><!-- /.modal-content -->
                </div><!-- /.modal -->
            </div>
    
    {% endblock %}
    

      小模块的url配置

    from django.conf.urls import url
    from django.contrib.auth import views as auth_views
    from django.views.generic.base import TemplateView
    from mokuai2 import views as core_views
    from . import views
    urlpatterns = [
    
        url(r'^index1', views.index1, name='index1'),
        url(r'^register', views.register, name="register"),
        url(r'^login',views.loginpost,name='login')
    
    ]
    

      

  • 相关阅读:
    2有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).
    .通过分类为数组添加一个倒序的一个方法. 比如: 数组中元素为 @”aa”, @”bb”, @”cc”, @”dd”, @”ee”, 倒序完之后为: @”ee”, @”dd”,@”cc”,@”bb
    做⼀个班级信息程序,包含4个⾃定义的类:OurClass、Teacher、 Student、Person,并实现方法.
    NSDictionary使用小结(字典)
    学习block的主要目的 学会排序(升序,降序)
    myeclipse项目重新编译失败:清理项目缓存
    虚拟机无法ping通网络问题总结
    Jackson简单应用
    Spring Boot常见问题(二)Unable to start embedded container; nested exception is java.lang.NoSuchMethodError: org.apache.tomcat.util.scan.StandardJarScanner.setJarScanFilter(Lorg/apache/tomcat/JarScanFilter;
    Spring Boot常见问题(一)Maven依赖加载失败
  • 原文地址:https://www.cnblogs.com/yongxinboy/p/7800587.html
Copyright © 2011-2022 走看看