python django用户登录系统_Django实现用户注册登录

学习Django中:试着着写一个用户注册登录系统,开始搞事情 =====O(∩_∩)O哈哈~=====

=================

Ubuntu

python 2.7.12

Django 1.10.4

IDE:Pycharm

Bootstrap(其实没怎么用~~)

=================

新建项目:(我是直接用pycharm直接生成的)

使用终端:

(创建项目)django-admin.py startproject mysite

(进入mysite新建app)django-admin.py startapp app01

记得在settings.py里面添加app

设计模型:

/mysite/app01/models.py:

from__future__ import unicode_literalsfromdjango.db import models

# Create your models here.classUser(models.Model):

username= models.CharField(max_length=50)

password= models.CharField(max_length=50)

email= models.EmailField()

创建User类,存放 username、password、email三个字段

同步数据库:

Python manage.py makemigrations

python manage.py migrate

Django会自动创建一系列表

没有自动创建superuser.......咱们手动创建:

python manage.py createsuperuser

设计逻辑视图(views):(使用表单)

/mysite/app01/views.py:

#coding=utf-8

fromdjango.shortcuts import render,render_to_responsefromdjango.http import HttpResponsefromdjango import formsfrommodels import User

# Create your views here.classUserForm(forms.Form):

username= forms.CharField(label='用户名',max_length=50)

password= forms.CharField(label='密码',widget=forms.PasswordInput())

email= forms.EmailField(label='邮箱')

def regist(request):if request.method == 'POST':

userform=UserForm(request.POST)ifuserform.is_valid():

username= userform.cleaned_data['username']

password= userform.cleaned_data['password']

email= userform.cleaned_data['email']

User.objects.create(username=username,password=password,email=email)

User.save()return HttpResponse('regist success!!!')else:

userform=UserForm()return render_to_response('regist.html',{'userform':userform})

def login(request):if request.method == 'POST':

userform=UserForm(request.POST)ifuserform.is_valid():

username= userform.cleaned_data['username']

password= userform.cleaned_data['password']

user= User.objects.filter(username__exact=username,password__exact=password)ifuser:return render_to_response('index.html',{'userform':userform})else:return HttpResponse('用户名或密码错误,请重新登录')else:

userform=UserForm()return render_to_response('login.html',{'userform':userform})

注释:

label:标签

widget:装饰

widget=forms.PasswordInput():设置密码字段

设计模板文件

在templates里面新建index.html、regist.html、login.html

regist.html

{% load static %}

Regist

注册页面

{{userform.as_p}}

login.html

{% load static %}

Login

登录页面

{{userform.as_p}}

index.html

主页

Hello Word!

设计urls

/mysite/urls.py

fromdjango.conf.urls import url,includefromdjango.contrib import adminfromapp01 import urls

import app01

urlpatterns=[

url(r'^admin/', admin.site.urls),

url(r'',include(app01.urls)),

]

/mysite/app01/urls.py

fromdjango.conf.urls import url,includefromdjango.contrib import admin

import views

admin.autodiscover()

urlpatterns=[

url(r'^index/$',views.index),

url(r'^login/$',views.login),

url(r'^regist/$',views.regist),

]

使用admin后台管理注册的用户

在models.py里面设计一个UserAdmin类,用来记录注册用户的信息

/mysite/app01/models.py

from__future__ import unicode_literalsfromdjango.contrib import adminfromdjango.db import models

# Create your models here.classUser(models.Model):

username= models.CharField(max_length=50)

password= models.CharField(max_length=50)

email=models.EmailField()classUserAdmin(admin.ModelAdmin):

list_display= ('username','password','email')

admin.site.register(User,UserAdmin)

同步一下数据库(方法同上)

效果图

主页:

注册页:

登录页面:

后台:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值