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)

同步一下數據庫(方法同上)

效果圖

主頁:

注冊頁:

登錄頁面:

后臺:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/394394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/394394.shtml
英文地址,請注明出處:http://en.pswp.cn/news/394394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubantu 添加防火墻策略_ubuntu安裝防火墻并策略配置

1、安裝ubuntu防火墻sudo apt-get install ufw啟用sudo ufw enablesudo ufw default deny作用:開啟了防火墻并隨系統啟動同時關閉所有外部對本機的訪問(本機訪問外部正常)。關閉sudo ufw disable查看防火墻狀態sudo ufw status2、開啟/禁用相應端口或服務舉例sudo u…

如何使用React Native構建嵌套的抽屜菜單

by Dhruvdutt Jadhav由Dhruvdutt Jadhav 如何使用React Native構建嵌套的抽屜菜單 (How to build a nested drawer menu with React Native) Screen space is a precious commodity on mobile. The drawer menu (or “hamburger menu”) is one of the most popular navigatio…

c# WebApi之接口返回類型詳解

c# WebApi之接口返回類型詳解 https://blog.csdn.net/lwpoor123/article/details/78644998 轉載于:https://www.cnblogs.com/hwubin5/p/10665006.html

第十一次作業

1。題目&#xff1a; 輸入一個字符串&#xff0c;統計大寫字母、小寫字母、空格、數字和其他字符的個數。(要求用字符數組 代碼 #include<stdio.h> #define n 100 int main() {char a[n];int i,a10,b0,c0,d0;printf("輸入字符串&#xff1a;\n");gets(a);for(i…

Python Configparser模塊讀取、寫入配置文件

寫代碼中需要用到讀取配置&#xff0c;最近在寫python&#xff0c;記錄一下。 如下&#xff0c;假設有這樣的配置。 [db] db_host127.0.0.1 db_port3306 db_userroot db_pass [concurrent] thread200 processor400 可以使用ConfigParser模塊來讀取、寫入配置…

leetcode714. 買賣股票的最佳時機含手續費(動態規劃)

給定一個整數數組 prices&#xff0c;其中第 i 個元素代表了第 i 天的股票價格 &#xff1b;非負整數 fee 代表了交易股票的手續費用。 你可以無限次地完成交易&#xff0c;但是你每筆交易都需要付手續費。如果你已經購買了一個股票&#xff0c;在賣出它之前你就不能再繼續購買…

寧宛 機器人_全文閱讀 .007 忠犬機器人

全文閱讀 .007 忠犬機器人”其實光看i5高大的身軀、泛著金屬光澤的外殼&#xff0c;很難想象它能把照顧人的事情做的那么細致。這張同樣自帶程序的金屬床在i5的操作下&#xff0c;根據寧宛自身的體重及骨密度&#xff0c;調整出最適合她的硬度、角度及凹陷程度。空間跳躍……早…

servlet中文亂碼_10分鐘快速掌握Servlet相關基礎知識

Servlet的學習路線1、 創建Servlet2、 Servlet的相關配置3、 Servlet的生命周期4、 HttpServletRequest接口5、 HttpServletResponse接口6、 HttpSession接口7、 Filter、Listener接口Servlet的相關配置1、 創建Servlet extends HttpServlet2、 配置Serlvet第1種配置方式: web.…

蓋茨比喬布斯_如何使用蓋茨比創建您的博客并通過手機進行處理

蓋茨比喬布斯by Hu Chen胡Hu 如何使用蓋茨比創建您的博客并通過手機進行處理 (How to use Gatsby to create your blog and work on it from your phone) Recently, I decided to migrate my blog to Gatsby. Gatsby is a blazing fast static site generator based on React.…

python之collections之有序字典(OrderedDict)

一、定義OrderedDict是對字典的補充&#xff0c;它記住了字典元素的添加順序。eg&#xff1a; 二、OrderedDict相關方法def clear(self): # real signature unknown; restored from __doc__ """     od.clear() -> None. Remove all items from od. …

進階4:hive 安裝

安裝包&#xff1a; apache-hive-2.1.1-bin.tar.gz 安裝步驟&#xff1a; 1.上傳 apache-hive-2.1.1-bin.tar.gz 到linux; 2.解壓文件&#xff1a; tar zxvf apache-hive-2.1.1-bin.tar.gz 3.安裝mysql (僅支持mysql 5.7以下版本&#xff0c;不支持5.7或更高版本&#xff0c…

macbookpro接口叫什么_【科普】什么是雷電接口?蘋果電腦MACBOOK PRO有嗎?

剛接觸筆記本的朋友不知道USB-C口是什么,也不知道雷電接口(Thunderbolt)是什么,只知道MACBOOK PRO有雷電3接口。簡單來說 雷電接口是USB TYPE-C的替代模式,在此了解【什么是USB TYPE-C】 什么是雷電接口? 借用百度百科的表達 2011年2月24日,英特爾發布了長期以來廣為宣傳的…

GoldenGate 12.3微服務架構與傳統架構的區別

隨著Oracle GoldenGate 12c&#xff08;12.3.0.1.0&#xff09;的發布&#xff0c;引入了可用于復制業務數據的新架構。 多年來&#xff0c;這種架構有著不同的稱謂&#xff0c;Oracle終于在最后GA發布的版本中&#xff0c;以“Microservices”的名義確認新架構的名稱。Microse…

leetcode劍指 Offer 63. 股票的最大利潤(動態規劃)

假設把某股票的價格按照時間先后順序存儲在數組中&#xff0c;請問買賣該股票一次可能獲得的最大利潤是多少&#xff1f; 示例 1: 輸入: [7,1,5,3,6,4] 輸出: 5 解釋: 在第 2 天&#xff08;股票價格 1&#xff09;的時候買入&#xff0c;在第 5 天&#xff08;股票價格 6&…

usb serial port 驅動_tty初探 — uart驅動框架分析

寫在前面&#xff1a;我們沒有講UART驅動&#xff0c;不過我們認為&#xff0c;只要系統學習了第2期&#xff0c;應該具備分析UART驅動的能力&#xff0c;小編做答疑幾年以來&#xff0c;陸陸續續有不少人問到UART驅動怎么寫&#xff0c;所以今天就分享一篇深度長文(17000字&am…

databricks_如何開始使用Databricks

databricksby Shubhi Asthana通過Shubhi Asthana 如何開始使用Databricks (How to get started with Databricks) When I started learning Spark with Pyspark, I came across the Databricks platform and explored it. This platform made it easy to setup an environment…

簡述isodata算法的原理_算法常見面試題匯總(一):概率論與數理統計部分

初級或中級算法崗面試題主要有四類&#xff1a;數理統計基礎、機器學習模型原理、編程能力、項目經驗。項目經驗因人而異&#xff0c;所以僅總結前三個方面的基礎知識&#xff0c;分享給朋友。&#xff08;高級或資深算法崗面試內容不在本文范圍內&#xff09;1.大數定律弱大數…

shell中各種括號的作用()、(())、[]、[[]]、{}

轉自&#xff1a;http://blog.csdn.net/taiyang1987912/article/details/39551385 一、小括號&#xff0c;圓括號&#xff08;&#xff09; 1、單小括號 () ①命令組。括號中的命令將會新開一個子shell順序執行&#xff0c;所以括號中的變量不能夠被腳本余下的部分使用。括號中…

SQLite 數據類型

SQLite 數據類型 參考&#xff1a; SQLite 數據類型 | 菜鳥教程http://www.runoob.com/sqlite/sqlite-data-types.html SQLite 數據類型是一個用來指定任何對象的數據類型的屬性。SQLite 中的每一列&#xff0c;每個變量和表達式都有相關的數據類型。 您可以在創建表的同時使用…

leetcode1143. 最長公共子序列(動態規劃)

給定兩個字符串 text1 和 text2&#xff0c;返回這兩個字符串的最長公共子序列的長度。 一個字符串的 子序列 是指這樣一個新的字符串&#xff1a;它是由原字符串在不改變字符的相對順序的情況下刪除某些字符&#xff08;也可以不刪除任何字符&#xff09;后組成的新字符串。 …