国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

這篇具有很好參考價(jià)值的文章主要介紹了Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

用戶管理

mysql> desc employee_management_userinfo;
+-------------+---------------+------+-----+---------+----------------+
| Field       | Type          | Null | Key | Default | Extra          |
+-------------+---------------+------+-----+---------+----------------+
| id          | bigint(20)    | NO   | PRI | NULL    | auto_increment |
| name        | varchar(16)   | NO   |     | NULL    |                |
| password    | varchar(64)   | NO   |     | NULL    |                |
| age         | int(11)       | NO   |     | NULL    |                |
| account     | decimal(10,2) | NO   |     | NULL    |                |
| create_time | datetime(6)   | NO   |     | NULL    |                |
| gender      | smallint(6)   | NO   |     | NULL    |                |
| depart_id   | bigint(20)    | NO   | MUL | NULL    |                |
+-------------+---------------+------+-----+---------+----------------+

向用戶數(shù)據(jù)表中插入幾行數(shù)據(jù)方便后面進(jìn)行測(cè)試

insert into employee_management_userinfo(name,password,age,account,create_time,gender,depart_id) values("李云龍","123456",45,50000,"2020-03-24",1,2);
insert into employee_management_userinfo(name,password,age,account,create_time,gender,depart_id) values("張三豐","123456",45,60000,"2021-03-24",1,3);
insert into employee_management_userinfo(name,password,age,account,create_time,gender,depart_id) values("周杰倫","123456",45,70000,"2022-03-24",1,4);

用戶列表

修改myproject/myproject/urls.py

from django.contrib import admin
from django.urls import path
from employee_management import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('depart/list/', views.depart_list),
    path('depart/add/', views.depart_add),
    path('depart/delete/', views.depart_delete),
    path('depart/<int:nid>/edit/', views.depart_edit),
    path('user/list/', views.user_list),
]

修改myproject/employee_management/views.py

def user_list(request):

    # 獲取所有用戶列表
    user_data = UserInfo.objects.all()

    # 用 python 的語法獲取數(shù)據(jù)
    """
    for obj in user_data:
        # obj.get_gender_display() 表示匹配 男/女,原始字段名為gender,obj.get_字段名稱_display()
        # obj.create_time.strftime("%Y-%m-%d") 表示將時(shí)間格式轉(zhuǎn)換成固定格式的字符串
        # obj.depart.title 表示獲取depart_id對(duì)應(yīng)的部門名稱,因?yàn)槲覀冊(cè)趍odels中定義表時(shí)與另外一張表設(shè)置了級(jí)聯(lián)關(guān)系,有外鍵
        print(obj.id, obj.name, obj.password, obj.age, obj.account, obj.get_gender_display(), obj.depart.title, obj.create_time.strftime("%Y-%m-%d"))
    """
    
    return render(request, "user_list.html", {"user_data": user_data})

新建myproject/employee_management/templates/user_list.html

注意: HTML 中獲取數(shù)據(jù)的方式與 Python 中有些不同
例如:
1.HTML中引入函數(shù)不能帶括號(hào), obj.get_gender_display()
2.日期類型轉(zhuǎn)字符串有Django自己的格式, obj.create_time|date:“Y-m-d”

{% extends 'layout.html' %}

{% block content %}
<div class="container">
    <div style="margin-bottom: 10px">
        <a class="btn btn-primary" href="/depart/add/" target="_blank">新建用戶</a>
    </div>
    <div>
        <div class="panel panel-default">
            <!-- Default panel contents -->
            <div class="panel-heading">
                <span class="glyphicon glyphicon-th-list" aria-hidden="true" style="margin-right: 5px;"></span>
                <span>用戶列表</span>
            </div>

            <!-- Table -->
            <table class="table table-bordered">
                <thead>
                    <tr>
                        <th>ID</th>
                        <th>姓名</th>
                        <th>密碼</th>
                        <th>年齡</th>
                        <th>性別</th>
                        <th>賬戶余額</th>
                        <th>入職時(shí)間</th>
                        <th>部門</th>
                        <th>操作</th>
                    </tr>
                </thead>
                <tbody>
                    {% for obj in user_data %}
                    <tr>
                        <th>{{ obj.id }}</th>
                        <td>{{ obj.name }}</td>
                        <td>{{ obj.password }}</td>
                        <td>{{ obj.age }}</td>
                        <td>{{ obj.get_gender_display }}</td>
                        <td>{{ obj.account }}</td>
                        <td>{{ obj.create_time|date:"Y-m-d" }}</td>
                        <td>{{ obj.depart.title }}</td>
                        <td>
                            <a class="btn btn-primary btn-xs" href="/user/{{ obj.id }}/edit/">編輯</a>
                            <a class="btn btn-danger btn-xs" href="/user/delete/?nid={{ obj.id }}">刪除</a>
                        </td>
                    </tr>
                    {% endfor %}
                </tbody>
            </table>
        </div>
    </div>
</div>

{% endblock %}

瀏覽器進(jìn)行訪問測(cè)試
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

用戶添加

這里不演示最無腦原始的方式,漏洞百出,因?yàn)?

  • 數(shù)據(jù)校驗(yàn)較麻煩
  • 頁(yè)面沒有錯(cuò)誤提示
  • 頁(yè)面上每一個(gè)字段都需要重新寫一遍
  • 關(guān)聯(lián)的數(shù)據(jù),需要手動(dòng)獲取并循環(huán)展示在頁(yè)面

Django組件:

  • Form組件(簡(jiǎn)便)
  • ModelForm組件(最簡(jiǎn)便)

初識(shí)Form

  • views.py
class MyForm(Form):
	user = forms.CharField(widget=forms.Input)
	pwd = forms.CharField(widget=forms.Input)
	email = forms.CharField(widget=forms.Input)

def user_add(request):
	if request.method == "GET":
	form = MyForm()
		return render(request, "user_add.html", {"form": form})
  • user_add.html

{{ form.xxx }} 可以自動(dòng)生成前端代碼

<form method="post">
	{{ form.user }}
	{{ form.pwd }}
	{{ form.email }}
</form>

也可以不指定,自動(dòng)生成全部

<form method="post">
	{% for field in form %}
		{{ field }}
	{% endfor %}
</form>

ModelForm

  • models.py
from django.db import models

# Create your models here.
class Department(models.Model):
    """部門表"""
    title = models.CharField(max_length=32, verbose_name='標(biāo)題')


class UserInfo(models.Model):
    """員工表"""
    name = models.CharField(max_length=16, verbose_name="姓名")
    password = models.CharField(max_length=64, verbose_name="密碼")
    age = models.IntegerField(verbose_name="年齡")
    account = models.DecimalField(verbose_name="賬戶余額", max_digits=10, decimal_places=2, default=0)
    create_time = models.DateTimeField(verbose_name="入職時(shí)間")
    depart = models.ForeignKey(to="Department", to_field="id", on_delete=models.CASCADE, verbose_name="部門")
    
    gender_choices = (
        (1, "男"),
        (2, "女"),
    )
    gender = models.SmallIntegerField(choices=gender_choices,verbose_name="性別")

  • views.py
class MyForm(ModelForm):
	class Meta:
		field = ["name", "password", "age"]
 
def user_add(request):
	if request.method == "GET":
	form = MyForm()
		return render(request, "user_add.html", {"form": form})
  • user_add.html

{{ form.xxx }} 可以自動(dòng)生成前端代碼

<form method="post">
	{{ form.user }}
	{{ form.pwd }}
	{{ form.email }}
</form>

也可以不指定,自動(dòng)生成全部

<form method="post">
	{% for field in form %}
		{{ field }}
	{% endfor %}
</form>

用戶添加(ModelForm)

修改myproject/employee_management/views.py

########################## ModelForm 演示 #############################

from django import forms

class UserModelForm(forms.ModelForm):

    ### 自定義數(shù)據(jù)校驗(yàn)
    # 例如: 用戶名最小三個(gè)字符
    #name = forms.CharField(min_length=3, label="用戶名")

    class Meta:
        model = UserInfo
        fields = ["name", "password", "age", "account", "create_time", "gender", "depart"]
        # 逐一控制標(biāo)簽的樣式
        # widgets = {
        #     "name": forms.TextInput(attrs={"class": "form-control"}),
        #     "password": forms.PasswordInput(attrs={"class": "form-control"}),
        # }
        
        # 這里讓日期可以手動(dòng)點(diǎn)擊鼠標(biāo)選擇,所以單獨(dú)拎出來,加上日期插件
        widgets = {
            "create_time": forms.DateTimeInput(attrs={'class': 'form-control', 'id': 'myDate'}),
        }

    # 循環(huán)找到所有的插件,添加 "class": "form-control"
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        for name, field in self.fields.items():
            # 可以排除指定的字段
            if name == "create_time":
                continue
            print(name, field)
            field.widget.attrs = {"class": "form-control"}


def user_model_form_add(request):
    """添加用戶(ModelForm版本)"""
    if request.method == "GET": 
        form = UserModelForm()
        return render(request, "user_model_form_add.html", {"form": form})
    
    # 用戶POST請(qǐng)求提交數(shù)據(jù),需要進(jìn)行數(shù)據(jù)校驗(yàn)
    form = UserModelForm(data=request.POST)
    if form.is_valid():
        print(form.cleaned_data)
        # 直接保存至數(shù)據(jù)庫(kù)
        form.save()
        return redirect("/user/list/")
    
    # 校驗(yàn)失敗(在頁(yè)面上顯示錯(cuò)誤信息)
    return render(request, "user_model_form_add.html", {"form": form})

修改myproject/myproject/urls.py

from django.contrib import admin
from django.urls import path
from employee_management import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('depart/list/', views.depart_list),
    path('depart/add/', views.depart_add),
    path('depart/delete/', views.depart_delete),
    path('depart/<int:nid>/edit/', views.depart_edit),
    path('user/list/', views.user_list),
    path('user/model/form/add/', views.user_model_form_add),
]

新建myproject/employee_management/templates/user_model_form_add.html

{% extends 'layout.html' %}

{% block content %}
<div class="container">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">添加用戶</h3>
        </div>
        <div class="panel-body">
            <form action="/user/model/form/add/" method="post" novalidate>
                {% csrf_token %}
                
                {% for field in form %}
                    <div class="form-group">
                        <label>{{ field.label }}: </label>
                        {{ field }}
                        <!-- 數(shù)據(jù)校驗(yàn),顯示錯(cuò)誤信息 -->
                        <span style="color: red;">{{ field.errors.0 }}</span>
                    </div>
                {% endfor %}

                <button type="submit" class="btn btn-primary">保存</button>
            </form>
        </div>
    </div>
</div>

{% endblock %}
</body>
</html>

修改myproject/employee_management/models.py

目的是讓自動(dòng)生成的部門字段不顯示"對(duì)象"本身,顯示對(duì)象對(duì)應(yīng)的"title"

class Department(models.Model):
    """部門表"""
    title = models.CharField(max_length=32, verbose_name='標(biāo)題')

    def __str__(self):
        return self.title

Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
修改后再次刷新
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

日期設(shè)置

目前日期只能手動(dòng)輸入,如果想要鼠標(biāo)點(diǎn)擊選擇,需要調(diào)用datetimepicker插件

插件下載地址:
鏈接:https://pan.baidu.com/s/1yN-L7bhwdSXwfYfh2MUj2A
提取碼:yyds

下載完成后,我將插件放在了/root/python/myproject/static/

Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
修改myproject/employee_management/templates/layout.html引入datetimepicker插件

調(diào)用方法: 在對(duì)應(yīng)的標(biāo)簽中加入"id=myDate"

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>

    <link rel="stylesheet" href="/static/plugins/bootstrap-3.4.1/css/bootstrap.css">
    <link rel="stylesheet" href="/static/plugins/font-awesome-4.7.0/css/font-awesome.css">


    <!--JQUERY-->
    <script type="text/javascript" src="/static/jquery/jquery-1.11.1-min.js"></script>
    <!--BOOTSTRAP框架-->
    <link rel="stylesheet" type="text/css" href="/static/jquery/bootstrap_3.3.0/css/bootstrap.min.css">
    <script type="text/javascript" src="/static/jquery/bootstrap_3.3.0/js/bootstrap.min.js"></script>
    <!--BOOTSTRAP_DATETIMEPICKER插件-->
    <link rel="stylesheet" type="text/css" href="/static/jquery/bootstrap-datetimepicker-master/css/bootstrap-datetimepicker.min.css">
</head>
<body>

	<!-- 此處省略一部分代碼 -->

    <script type="text/javascript">
        $(function () {
            //當(dāng)容器加載完成,對(duì)容器調(diào)用工具函數(shù)
            $("#myDate").datetimepicker({
                language: 'zh-CN', //語言
                format: 'yyyy-mm-dd',//日期的格式
                minView: 'month', //可以選擇的最小視圖
                initialDate: new Date(),//初始化顯示的日期
                autoclose: true,//設(shè)置選擇完日期或者時(shí)間之后,日否自動(dòng)關(guān)閉日歷
                todayBtn: true,//設(shè)置自動(dòng)顯示為今天
                clearBtn: false//設(shè)置是否清空按鈕,默認(rèn)為false
            });
        });
    </script>
</body>
</html>

如何使用呢
其實(shí)在上面的代碼中我已經(jīng)提前寫上了
下圖是Django中ModelForm修改標(biāo)簽屬性的方式,在widgets字典中定義
attrs={'class': 'form-control', 'id': 'myDate'}
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
最終效果
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

數(shù)據(jù)校驗(yàn)錯(cuò)誤提示

修改myproject/myproject/settings.py

改為中文,目的是為了讓頁(yè)面提示錯(cuò)誤信息時(shí)顯示中文,否則會(huì)顯示英文

#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'

如果我們沒有寫入任何內(nèi)容直接點(diǎn)擊"保存",那么頁(yè)面會(huì)提示錯(cuò)誤
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
因?yàn)槲覀冊(cè)?code>/root/python/myproject/employee_management/templates/user_model_form_add.html中加入了{{ field.errors.0 }}字段
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

編輯用戶

修改myproject/employee_management/views.py

def user_edit(request, nid):
    """編輯用戶"""
    
    row_obj = UserInfo.objects.filter(id=nid).first()
    
    # GET請(qǐng)求
    if request.method == "GET":
        form = UserModelForm(instance=row_obj)
        return render(request, "user_edit.html", {"form": form})
    
    # POST請(qǐng)求
    form = UserModelForm(data=request.POST, instance=row_obj)
    if form.is_valid():
        form.save()
        return redirect("/user/list/")

    return render(request, "user_edit.html", {"form": form})    

修改/root/python/myproject/myproject/urls.py

path('user/<int:nid>/edit/', views.user_edit),

增加/root/python/myproject/employee_management/templates/user_edit.html

{% extends 'layout.html' %}

{% block content %}

<div class="container">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h3 class="panel-title">編輯用戶</h3>
        </div>
        <div class="panel-body">
            <form method="post" novalidate>
                {% csrf_token %}
                
                {% for field in form %}
                    <div class="form-group">
                        <label>{{ field.label }}: </label>
                        {{ field }}
                        <!-- 數(shù)據(jù)校驗(yàn),顯示錯(cuò)誤信息 -->
                        <span style="color: red;">{{ field.errors.0 }}</span>
                    </div>
                {% endfor %}

                <button type="submit" class="btn btn-primary">保存</button>
            </form>
        </div>
    </div>
</div>
{% endblock %}
</body>
</html>

瀏覽器訪問測(cè)試,點(diǎn)擊"編輯"
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
但是發(fā)現(xiàn)上面的時(shí)間有些問題,應(yīng)該只顯示年月日就可以了,不應(yīng)該顯示時(shí)分秒
需要修改數(shù)據(jù)庫(kù)models
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
更新數(shù)據(jù)庫(kù)表結(jié)構(gòu)

python3 manage.py makemigrations
python3 manage.py migrate

Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
此時(shí)還需要更改一個(gè)地方
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理
瀏覽器刷新
Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理

刪除用戶

修改myproject/employee_management/views.py

def user_delete(request, nid):
    """用戶刪除"""
    UserInfo.objects.filter(id=nid).delete()
    return redirect("/user/list/")

修改myproject/myproject/urls.py

path('user/<int:nid>/delete/', views.user_delete),

修改myproject/employee_management/templates/user_list.html

<td>
    <a class="btn btn-primary btn-xs" href="/user/{{ obj.id }}/edit/">編輯</a>
    <a class="btn btn-danger btn-xs" href="/user/{{ obj.id }}/delete/">刪除</a>
</td>

瀏覽器測(cè)試文章來源地址http://www.zghlxwxcb.cn/news/detail-421237.html

到了這里,關(guān)于Django web 開發(fā)(四) - Django項(xiàng)目實(shí)踐(四)-用戶管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Web 開發(fā) Django 管理工具

    Web 開發(fā) Django 管理工具

    上次為大家介紹了 Django 的模型,通過模型就可以操作數(shù)據(jù)庫(kù),從而就可以改變頁(yè)面的展示內(nèi)容,那問題來了,我們只能通過手動(dòng)編輯模型文件來配置模型嗎?當(dāng)然不是,Django 為我們提供了強(qiáng)大的工具,可以全自動(dòng)地根據(jù)模型創(chuàng)建后臺(tái)管理界面。管理界面不是為網(wǎng)站的訪問者

    2024年02月11日
    瀏覽(18)
  • 利用敏捷開發(fā)工具實(shí)現(xiàn)敏捷項(xiàng)目管理的實(shí)踐經(jīng)驗(yàn)分享

    利用敏捷開發(fā)工具實(shí)現(xiàn)敏捷項(xiàng)目管理的實(shí)踐經(jīng)驗(yàn)分享

    Scrum中非常強(qiáng)調(diào)公開、透明、直接有效的溝通,這也是“可視化的管理工具”在敏捷開發(fā)中如此重要的原因之一 。通過“可視化的管理工具”讓所有人直觀的看到需求,故事,任務(wù)之間的流轉(zhuǎn)狀態(tài),可以使團(tuán)隊(duì)成員更加快速適應(yīng)敏捷開發(fā)流程。 所以,有敏捷工具的支撐是非常

    2024年02月11日
    瀏覽(25)
  • Servlet+JDBC實(shí)戰(zhàn)開發(fā)書店項(xiàng)目講解第11講:管理員用戶權(quán)限功能

    在這一講中,我們將詳細(xì)講解如何實(shí)現(xiàn)書店項(xiàng)目中的管理員用戶權(quán)限功能。下面是每個(gè)步驟的詳細(xì)說明: 首先,我們需要在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)管理員用戶表,用于存儲(chǔ)管理員用戶的信息。表的結(jié)構(gòu)可以包括以下字段: 用戶ID(user_id):唯一標(biāo)識(shí)管理員用戶的ID 用戶名(user

    2024年02月12日
    瀏覽(26)
  • Python web實(shí)戰(zhàn)之Django用戶認(rèn)證詳解

    Python web實(shí)戰(zhàn)之Django用戶認(rèn)證詳解

    Python Web 開發(fā)、Django、用戶認(rèn)證、實(shí)戰(zhàn)案例 ? 今天來探討一下 Django 的用戶認(rèn)證吧!在這篇文章中,我將為大家?guī)硪恍┯嘘P(guān) Django 用戶認(rèn)證的最佳實(shí)踐。 ? 在開發(fā) Web 應(yīng)用程序時(shí),用戶認(rèn)證是一個(gè)最常用的功能。它能夠確保用戶的安全性和隱私,并且為應(yīng)用程序提供了個(gè)性化

    2024年02月14日
    瀏覽(95)
  • python Web開發(fā) flask輕量級(jí)Web框架實(shí)戰(zhàn)項(xiàng)目--學(xué)生管理系統(tǒng)

    python Web開發(fā) flask輕量級(jí)Web框架實(shí)戰(zhàn)項(xiàng)目--學(xué)生管理系統(tǒng)

    ?上次發(fā)的一篇文章,有很多朋友私信我要后面的部分,那咱們就今天來一起學(xué)習(xí)一下吧,因?yàn)槲业臄?shù)據(jù)庫(kù)這門課選中的課題是學(xué)生管理系統(tǒng),所以今天就以這個(gè)課題為例子,從0到1去實(shí)現(xiàn)一個(gè)管理系統(tǒng)。數(shù)據(jù)庫(kù)設(shè)計(jì)部分我會(huì)專門出一個(gè)博客的,敬請(qǐng)期待吧~~~ 介如很多朋友問

    2024年02月16日
    瀏覽(90)
  • Django 管理平臺(tái)用戶界面編寫

    Django 管理平臺(tái)用戶界面編寫

    前言:目前還在學(xué)習(xí)中,這是第一個(gè)嘗試的項(xiàng)目,多有不足,感謝大家的觀看與批評(píng)。 這次沒找到前輩的模板,自行編寫base.html和base.css 注意: 1.? 矢量圖下載與使用:iconfont-阿里巴巴矢量圖標(biāo)庫(kù),按照官網(wǎng)流程操作。 2.? 注意margin的使用—— 相鄰塊元素合并 與 嵌套塊元素

    2024年04月10日
    瀏覽(16)
  • Python web實(shí)戰(zhàn)之Django性能優(yōu)化最佳實(shí)踐詳解

    大家好!今天分享如何優(yōu)化使用Django應(yīng)用的性能,使其在高并發(fā)、大數(shù)據(jù)量的情況下能夠保持良好的性能。 數(shù)據(jù)庫(kù)查詢是Web應(yīng)用中常見的性能瓶頸之一。 1.1 使用select_related和prefetch_related 在Django中,可以使用 select_related 和 prefetch_related 方法來優(yōu)化數(shù)據(jù)庫(kù)查詢。這兩個(gè)方法可

    2024年02月11日
    瀏覽(88)
  • Web實(shí)戰(zhàn)丨基于Django與HTML的用戶登錄驗(yàn)證系統(tǒng)

    Web實(shí)戰(zhàn)丨基于Django與HTML的用戶登錄驗(yàn)證系統(tǒng)

    本期內(nèi)容:基于Django與HTML的簡(jiǎn)單登錄驗(yàn)證系統(tǒng)。 項(xiàng)目需求:Python+Django 項(xiàng)目下載地址:https://download.csdn.net/download/m0_68111267/88727183 登錄系統(tǒng)在我們的日常生活中隨處可見,比如當(dāng)我們使用QQ、微信等社交軟件時(shí),都需要先輸入自己的賬號(hào)密碼進(jìn)行登錄,本文博主將帶著大家用

    2024年01月25日
    瀏覽(21)
  • Django 框架添加管理員,完成對(duì)普通用戶信息管理

    Django 框架添加管理員,完成對(duì)普通用戶信息管理

    前情回顧:Django框架 完成用戶登錄注冊(cè) 一般管理員都是直接指定,不開放頁(yè)面注冊(cè),可以直接手動(dòng)在數(shù)據(jù)庫(kù)添加,Django框架提供了方法,讓我們直接創(chuàng)建管理員,步驟如下: 打開pycharm下面的命令行終端 輸入命令 按照提示進(jìn)行輸入信息 打開數(shù)據(jù)庫(kù),可以看出,已經(jīng)幫我們插

    2024年01月16日
    瀏覽(21)
  • 【論壇java項(xiàng)目】第二章 Spring Boot實(shí)踐,開發(fā)社區(qū)登錄模塊:發(fā)送郵件、開發(fā)注冊(cè)功能、會(huì)話管理、生成驗(yàn)證碼、開發(fā)登錄、退出功能、

    【論壇java項(xiàng)目】第二章 Spring Boot實(shí)踐,開發(fā)社區(qū)登錄模塊:發(fā)送郵件、開發(fā)注冊(cè)功能、會(huì)話管理、生成驗(yàn)證碼、開發(fā)登錄、退出功能、

    ??如果對(duì)你有幫助的話?? ??為博主點(diǎn)個(gè)贊吧 ?? ??點(diǎn)贊是對(duì)博主最大的鼓勵(lì)?? ??愛心發(fā)射~?? bofryuzursekbiab——密碼 訪問郵箱域名 郵箱端口 賬號(hào) 密碼 協(xié)議 詳細(xì)配置 JavaMailSender 是 Spring Email 的核心組件,負(fù)責(zé)發(fā)送郵件 MimeMessage 用于封裝郵件的相關(guān)信息 MimeMessageHelper 用

    2024年02月06日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包