欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django實(shí)現(xiàn)簡(jiǎn)單登錄的示例代碼

 更新時(shí)間:2021年11月04日 15:46:10   作者:d粥  
本文主要介紹了Django實(shí)現(xiàn)簡(jiǎn)單登錄的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

創(chuàng)建django項(xiàng)目

創(chuàng)建項(xiàng)目的命令行語(yǔ)句: django-admin startproject newsManage

將templates文件放在模板里面,會(huì)顯得更簡(jiǎn)潔一些,所以我就先創(chuàng)建模板啦。

命令行語(yǔ)句:django-admin startapp newsModel

創(chuàng)建好模型把模型名加到setting文件下 INSTALLED_APPS 里面 , 不然到時(shí)候會(huì)報(bào)錯(cuò)說(shuō)找不到的

創(chuàng)建templates目錄,來(lái)存放html,js,css等文件,在setting文件下 TEMPLATES 配置templates的文件路徑 'DIRS': [os.path.join(BASE_DIR, 'templates')],

最后大致的目錄結(jié)構(gòu)就是這樣了

使用模型的url.py

創(chuàng)建項(xiàng)目的時(shí)候會(huì)自帶一個(gè)urls.py文件,是用來(lái)配置路徑的,都寫在一個(gè)urls里面會(huì)顯得比較亂,放在模板里面就完美的解決了這個(gè)問(wèn)題

路徑:newsManage/newsManage/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('newsModel.urls'))
]

在newsModel模板下創(chuàng)建urls.py文件 路徑:newsManage/newsModel/urls.py

from django.urls import path
from . import views

urlpatterns = [
    path('', views.login, name='login')
]

路徑:newsManage/newsModel/views.py

def login(request):
    return render(request, 'login.html')

在templates下創(chuàng)建login.html文件,然后寫登錄頁(yè)面(用模板也太香了吧)
運(yùn)行啟動(dòng)服務(wù)器 python manage.py runserver

加載靜態(tài)文件

static就是放靜態(tài)文件的像 css,js 加載靜態(tài)文件也需要配置,setting最后一行加上

STATICFILES_DIRS = [     os.path.join(BASE_DIR, "static") ]

在html里面引用,需要在前面加上{% load static %}
然后就可以引用了 <link href="{% static 'css/style.css' %}" rel="external nofollow" rel="stylesheet">

頁(yè)面跳轉(zhuǎn)

path('/register', views.register, name='register')

像上面這個(gè)注冊(cè)的url,可以通過(guò)路徑 或者 name 跳轉(zhuǎn)

<a class="text-primary" href="{% url 'register' %}" rel="external nofollow" >Sign up</a>

點(diǎn)擊這個(gè)鏈接就可以跳轉(zhuǎn)到注冊(cè)頁(yè)面啦

創(chuàng)建數(shù)據(jù)庫(kù)模型

在 newsManage/newsManage/init.py 配置pymysql, 沒(méi)有下載的話需要去下載pymysql

import pymysql
pymysql.install_as_MySQLdb()

路徑:newsManage/newsModel/models.py(類名就是表名)

class user(models.Model):
    username = models.CharField(max_length=30)
    password = models.CharField(max_length=30)
    email = models.EmailField(unique=True, blank=False)

運(yùn)行命令行,生成表結(jié)構(gòu)

python manage.py migrate
python manage.py makemigrations
python manage.py migrate newsModel

數(shù)據(jù)庫(kù)的表名就是 模型名_類名( newsModel_user )
admin/ 路徑是可以直接在瀏覽器上操作數(shù)據(jù)庫(kù)的

提交

表單提交

后臺(tái)判斷登錄是否成功

def toLogin(request):
    if request.method == 'POST':
        username = request.POST.get("username")
        password = request.POST.get("password")
        users = user.objects.all()
        for u in users:
            if u.username == username and u.password == password:
                return redirect("home")
        context = {"msg": "用戶名或密碼錯(cuò)誤!"}
        return render(request, "login.html", context)

ajax提交

data = eval("(" + data + ")"); 灰常重要,記得轉(zhuǎn)換一下,不然取不到,但好像別人不用轉(zhuǎn)也可以。。。。
$.ajax({
    type: 'POST',
    url: "{% url 'toLoginByAjax' %}",
    data: {
        'username': $("#username").val(),
        'password': $("#password").val()
    },
    dataType: 'text',
    success: function (data) {
        data = eval("(" + data + ")");
        if (data.code == 0){
            window.location.href = "{% url 'home' %}"
        } else {
            $(".msg").html(data.msg);
                setTimeout(function(){//定時(shí)器
                $(".msg").css("display","none");//將圖片的display屬性設(shè)置為none
            },3000);//設(shè)置三千毫秒即3秒
        }
    },
    error: function () {
        console.log("somewhere is wrong")
    }
  })  

def toLoginByAjax(request):
    username = request.POST.get("username")
    password = request.POST.get("password")
    users = user.objects.all()
    for u in users:
        if u.username == username and u.password == password:
            message = {"code": 0, "msg": "登陸成功!"}
            return JsonResponse(message)
    message = {"code": 400, "msg": "登陸失敗,用戶名或密碼錯(cuò)誤!"}
    return JsonResponse(message)

就可以成功登錄到主頁(yè)(home.html)啦! 🤸🏻‍♀️🤸🏻‍♀️🤸🏻‍♀️

到此這篇關(guān)于Django實(shí)現(xiàn)簡(jiǎn)單登錄的示例代碼的文章就介紹到這了,更多相關(guān)Django 登錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

    python編程學(xué)習(xí)使用管道Pipe編寫優(yōu)化代碼

    大家好,今天這篇文章我將詳細(xì)講解 Pipe 如何讓你的代碼更加簡(jiǎn)潔的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11
  • python中的正斜杠與反斜杠實(shí)例驗(yàn)證

    python中的正斜杠與反斜杠實(shí)例驗(yàn)證

    這篇文章主要介紹了python中的正斜杠與反斜杠實(shí)例驗(yàn)證,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Python?操作?MongoDB數(shù)據(jù)庫(kù)的方法(非?ODM)

    Python?操作?MongoDB數(shù)據(jù)庫(kù)的方法(非?ODM)

    這篇文章主要介紹了Python?操作?MongoDB?----非?ODM的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • 解決django接口無(wú)法通過(guò)ip進(jìn)行訪問(wèn)的問(wèn)題

    解決django接口無(wú)法通過(guò)ip進(jìn)行訪問(wèn)的問(wèn)題

    這篇文章主要介紹了解決django接口無(wú)法通過(guò)ip進(jìn)行訪問(wèn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python找出9個(gè)連續(xù)的空閑端口

    Python找出9個(gè)連續(xù)的空閑端口

    這篇文章主要介紹了Python找出9個(gè)連續(xù)的空閑端口的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 詳解在Python中創(chuàng)建條形圖追趕動(dòng)畫

    詳解在Python中創(chuàng)建條形圖追趕動(dòng)畫

    動(dòng)畫是使可視化更具吸引力和用戶吸引力的好方法。它幫助我們以有意義的方式展示數(shù)據(jù)可視化。Matplotlib是一個(gè)非常流行的數(shù)據(jù)可視化庫(kù),通常用于數(shù)據(jù)的圖形表示以及使用內(nèi)置函數(shù)的動(dòng)畫。本文將用Matplotlib繪制條形圖追趕動(dòng)畫,需要的可以參考一下
    2022-03-03
  • Python的Scrapy框架基本使用詳解

    Python的Scrapy框架基本使用詳解

    這篇文章主要介紹了Python的Scrapy框架基本使用詳解,Scrapy,Python開(kāi)發(fā)的一個(gè)快速、高層次的屏幕抓取和web抓取框架,用于抓取web站點(diǎn)并從頁(yè)面中提取結(jié)構(gòu)化的數(shù)據(jù),Scrapy用途廣泛,可以用于數(shù)據(jù)挖掘、監(jiān)測(cè)和自動(dòng)化測(cè)試,需要的朋友可以參考下
    2023-12-12
  • 淺談Python中的正則表達(dá)式

    淺談Python中的正則表達(dá)式

    正則表達(dá)式廣泛用于與文字、字符串的格式化,放到Python里使用,再合適不過(guò).尤其是在編寫爬蟲時(shí),用正則表達(dá)式匹配URL、匹配IP等,正則表達(dá)式都是一個(gè)簡(jiǎn)單、高效的選擇,需要的朋友可以參考下
    2021-06-06
  • Python 實(shí)現(xiàn)子類獲取父類的類成員方法

    Python 實(shí)現(xiàn)子類獲取父類的類成員方法

    今天小編就為大家分享一篇Python 實(shí)現(xiàn)子類獲取父類的類成員方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • tensorflow入門之訓(xùn)練簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)方法

    tensorflow入門之訓(xùn)練簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)方法

    本篇文章主要介紹了tensorflow入門之訓(xùn)練簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02

最新評(píng)論