django实现注册、登录小系统

1.创建django项目:

命令:django-admin.py startproject todoManager

2.在此项目下创建apps应用

命令:python manage.py startapp apps

目录如下:

3.打开todoManager/todoManager/settings.py文件,将应用添加进去:

4.打开todoManager/todoManager/settings.py文件,设置连接数据库,以下连接的是MYSQL

5.打开todoManager/apps/models.py文件,添加如下内容,创建数据库,创建User表,用户名和密码两个字段。

6.进行数据库的同步:

查看django版本:输入python ,enter;import django  django.get_version()

我的版本是1.9之前的:在Django1.9之前,数据库同步只需要一条命令,那就是python  manage.py syncdb

后生成的 apps_user 表就是我们models.py 中所创建的User类。

7. 配置URL  

7.1 打开todoManager/todoManager/urls.py

7.2 在todoManager/apps/目录下创建urls.py文件:

from django.conf.urls import patterns, url,include
from django.contrib import admin
from apps import views

urlpatterns = patterns(‘‘,
url(r‘^regist/$‘,views.regist,name = ‘regist‘),
url(r‘^login/$‘,views.login,name = ‘login‘),
url(r‘^index/$‘,views.index,name = ‘index‘),
url(r‘^logout/$‘,views.logout,name = ‘logout‘),

)

7.3 创建视图

打开todoManager/apps/views.py 文件:

# -*- coding: utf-8 -*-
from django.shortcuts import render

# Create your views here.
#coding=utf-8
from django.shortcuts import render,render_to_response
from django.http import HttpResponse,HttpResponseRedirect
from django.template import RequestContext
from django import forms
from apps.models import  User
from pymongo import MongoClient
from django.views.decorators.csrf import csrf_protect, csrf_exempt

mongo_client = MongoClient(‘192.168.86.126‘, 27017)

#表单
class UserForm(forms.Form):
    username = forms.CharField(label=u‘用户名‘,max_length=100)
    password = forms.CharField(label=u‘密  码‘,widget=forms.PasswordInput())

#注册
# @csrf_protect
def regist(req):
    if req.method == ‘POST‘:
        uf = UserForm(req.POST)
        if uf.is_valid():
            #获得表单数据
            username = uf.cleaned_data[‘username‘]
            password = uf.cleaned_data[‘password‘]
            #添加到数据库
            User.objects.create(username= username,password=password)
            return HttpResponse(‘regist success!!‘)
    else:
        uf = UserForm()
    return render_to_response(‘regist.html‘,{‘uf‘:uf}, context_instance=RequestContext(req))

#登陆
# @csrf_protect
def login(req):
    username = req.COOKIES.get(‘username‘,‘‘)
    if req.method == ‘POST‘:
        uf = UserForm(req.POST)
        if uf.is_valid():
            #获取表单用户密码
            username = uf.cleaned_data[‘username‘]
            password = uf.cleaned_data[‘password‘]
            #获取的表单数据与数据库进行比较
            user = User.objects.filter(username__exact = username,password__exact = password)
            if user:
                #比较成功,跳转index
                response = HttpResponseRedirect(‘/apps/index/‘)
                #将username写入浏览器cookie,失效时间为3600
                response.set_cookie(‘username‘,username,3600)
                return response
            else:
                #比较失败,还在login
                return HttpResponseRedirect(‘/apps/login/‘)
    else:
        uf = UserForm()
    return render_to_response(‘login.html‘,{‘uf‘:uf}, context_instance=RequestContext(req) )

#登陆成功
# @csrf_protect
def index(req):
    username = req.COOKIES.get(‘username‘,‘‘)
    if username:
        key_words_coll = mongo_client[‘yidong_zixun‘][‘key_words‘]
        categorys = {}
        tasks = {}
        results = key_words_coll.find().batch_size(30)
        for result in results:
            category_id = result["category_id"]
            category_name = result["category_name"]
            _id = result["_id"]
            name = result["name"]
            if not categorys.has_key(category_id):
                categorys[category_id] = category_name
            if not tasks.has_key(category_id):
                tasks[category_id] = []
                tasks[category_id].append({"task_id":_id,"name":name})
            else:
                tasks[category_id].append({"task_id":_id,"name":name})
        return render_to_response(‘index.html‘ ,{‘username‘:username,‘categorys‘:categorys,"tasks":tasks}, context_instance=RequestContext(req))
    else:
        return HttpResponseRedirect(‘/apps/login/‘)
#退出
# @csrf_protect
def logout(req):
    # response = HttpResponse(‘logout !!‘)
    response = HttpResponseRedirect(‘/apps/login/‘)
    response.delete_cookie(‘username‘)
    return response

7.4 创建模板 

先在todoManager/apps/目录下创建templates目录,接着在todoManager/apps/templates/目录下创建base.html、regist.html、login.html 、index.html 文件:

7.5设置模板路径

打开todoManager/todoManager/settings.py文件,在底部添加:

8.运行django

命令:python manage.py runserver 0.0.0.0:8000

时间: 2024-10-15 23:19:23

django实现注册、登录小系统的相关文章

python3学习--注册登录小程序

一.需求:#1.实现注册功能输入:username.passowrd,cpassowrd #最多可以输错3次 #3个都不能为空 #用户名长度最少6位, 最长20位,用户名不能重复 #密码长度最少8位,最长15位 #两次输入的密码要一致 #注册成功之后,要写到文件里面#2.登陆功能实现: #3次 用户名和密码你去文件里面取 二.代码 ''' 注册登录小程序 Author:Test_Lin ''' import datetime #先访问文件,将文件中的内容存到列表当中 f = open('Regi

以小见大:如何设计注册登录页?

一个合格的注册登录页面,应该是具有清晰的操作流程. 朋友说某个APP不错,下载后正准备好好体验一番,却被糟糕的注册登录页面弄的精疲力竭,无奈最终只能放弃.注册登录流程能让用户扭头就走,也能让产品获得新用户的芳心. 一个合格的注册登录页面,应该是具有清晰的操作流程,良好的交互细节和美观的视觉设计. 清晰的操作流程 APP的注册登录有四种情况: 不需要注册登录 常见于系统自带的工具类APP,像经常使用的闹钟.日历.计算器等等:一些简单的第三方APP:乐流,榫卯等. 这些APP的特点都是功能相对单一,

Java小项目之:校园注册登录系统!

相信很多学校都有自己的网站,而且还有学生课表成绩查询的系统,和教师端的操作系统.今天教大家做一个简单的注册登录系统! 代码展示: package com.entity; public class Teacher { private int id; private String name; private String sex; private int age; public Teacher(){ super(); } public Teacher(int id, String name) { s

一个基于Unix套接字的注册登录系统

2016/5/5 今天,我参考<Unix网络编程-卷1>第5章的TCP回射客户/服务器程序写了一个简单的注册登录系统,其功能如下:(1)注册.客户端向服务器发送个人信息请求注册,服务器查询MySQL数据库以检查该客户是否已存在,若是则禁止注册,并返回“用户已存在,注册失败”的错误信息,否则将新用户信息添加到MySQL数据库,并返回“注册成功”的信息.(2)登录.客户端向服务器发送个人账号和密码等两项信息,服务器查询MySQL数据库以检查账号是否存在.账号和密码是否匹配,若不存在或不匹配则禁止登

php注册登录系统(一)-极简

序 登录注册系统是日常上网最普通的操作,我设了一个分类一步步完善注册登录系统,若有哪里错误请慧教 所用语言:php 数据库 :mysql 本次实现功能: 1.用户注册 2.用户登录 主要文件: 1 sql 在已有的数据库里创建user表,id,username,password三个字段 1 create table username( 2 id int(10) not null auto_increment, 3 username varchar(30), 4 password varchar(

(一)php注册登录系统-极简

序 登录注册系统是日常上网最普通的操作,我设了一个分类一步步完善注册登录系统,若有哪里错误请慧教 所用语言:php 数据库 :mysql 本次实现功能: 1.用户注册 2.用户登录 主要文件: 完整代码 1 sql 在已有的数据库里创建user表,id,username,password三个字段 create table user(id int(10) not null auto_increment,username varchar(30),password varchar(40),primar

巨蟒django之CRM1 需求分析&amp;&amp;表结构设计&amp;&amp;注册登录验证

1.需求分析 1.项目 (1)业务 (2)权限的管理 2.CRM customer relationship management 客户关系管理系统 3.谁来使用CRM? 销售&&班主任&&讲师&&助教 4.项目的需求分析 (1)注册 (2)登录 (3)销售 1.客户信息管理 增加 编辑 展示 客户信息(删除一般不用它做,后台管理员来做,为了信息安全) 2.跟进信息管理 增加 编辑 展示 跟进信息 3.报名信息的管理 增加 编辑 展示 报名信息 4.缴费记录

基于javaweb人脸识别注册登录系统

---恢复内容开始--- 现在是2019年,人脸识别技术已经相当成熟了,百度自2017年发布人脸识别技术,已经被广泛应用,不管从现在的iphoneX掀起的面部解锁到手机应用端的各种人脸认证,这一技术已经悄然升息的方便了我们的生活,但是在web端注册登录缺很少用到刷脸登录,第一个最主要的原因可能是安全隐私方面人们对大数据时代的误解.不多废话,下面通过调用百度api来实现人脸注册及登录, Web端人脸识别主要有三个技术思路: 1.前端的人脸识别,例如使用Tensorflow.js, 2.后台人脸识别

Window上python开发--4.Django的用户登录模块User

在搭建网站和web的应用程序时,用户的登录和管理是几乎是每个网站都必备的.今天主要从一个实例了解以下django本身自带的user模块.本文并不对user进行扩展. 主要使用原生的模块. 1.User模块基础: 在使用user 之前先import到自己的iew中.相当与我们自己写好的models.只不过这个是系统提供的models. from django.contrib.auth.models import User # 导入user模块 1.1User对象属性 User 对象属性:usern