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

Python Django 詳解(基礎(chǔ))

這篇具有很好參考價(jià)值的文章主要介紹了Python Django 詳解(基礎(chǔ))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 概述

1.1 安裝 django

> pip install django

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

  • [File] - [New Project...] - [Django] - 設(shè)置 Location 和 解釋器 - [create]

固定,不用動(dòng)的文件:
??? asgi.py:接收網(wǎng)絡(luò)請(qǐng)求(異步)
??? wsgi.py:接收網(wǎng)絡(luò)請(qǐng)求(同步)

重要,需要經(jīng)常操作的文件:
??? urls.py:URL和函數(shù)的對(duì)應(yīng)關(guān)系
??? settings.py:項(xiàng)目配置

python django,Python,python,django

1.3 創(chuàng)建 app

  • 命令窗口執(zhí)行命令:python manage.py startapp app01(其中 app01 為自定義項(xiàng)目名)

固定,不用動(dòng)的文件:
??? admin.py:后臺(tái)管理
??? apps.py:app啟動(dòng)類
??? migrations:數(shù)據(jù)庫(kù)變更記錄
??? test.py:?jiǎn)卧獪y(cè)試

重要,經(jīng)常操作的文件:
??? models.py:對(duì)數(shù)據(jù)庫(kù)操作
??? views.py:函數(shù)(對(duì)應(yīng)上述 1.2 Django 項(xiàng)目中的 urls.py 文件)

python django,Python,python,django

2 啟動(dòng) Django

2.1 settings.py:注冊(cè) app

python django,Python,python,django

2.2 view.py:URL和視圖對(duì)應(yīng)

python django,Python,python,django

2.3 啟動(dòng) Django

python django,Python,python,django

> # 指定IP地址和端口
> python manage.py runserver 127.0.0.1:8080

2.4 訪問

python django,Python,python,django

3 快速上手

3.1 templates:html 模板

python django,Python,python,django
python django,Python,python,django

3.2 static:靜態(tài)文件

python django,Python,python,django
python django,Python,python,django

3.3 模板語(yǔ)法

python django,Python,python,django

views.py:

from django.shortcuts import render, HttpResponse


# Create your views here.
# 入?yún)?request 是必選項(xiàng)
def index(request):
    return HttpResponse("Hello World!")


def user_list(request):
    # 對(duì)應(yīng) settings.py 中的 'DIRS': [os.path.join(BASE_DIR, 'templates')]
    # 若 settings.py 中設(shè)為 'DIRS': [] 則表示 app 目錄下的 templates
    name = "張三"
    roles = ["超級(jí)管理員", "管理員", "用戶"]
    user_info = {"name": "張三", "salary": 10000, "role": "超級(jí)管理員"}
    data_list = [
        {"name": "張三", "salary": 10000, "role": "超級(jí)管理員"},
        {"name": "李四", "salary": 30000, "role": "管理員"},
        {"name": "王五", "salary": 20000, "role": "用戶"}
    ]
	# k1-k4:自定義的 key,name、roles.. 為上述定義的值
    return render(request, 
   			      "user_list.html", 
   			      {"k1": name, 
   			       "k2": roles, 
   			       "k3": user_info, 
   			       "k4": data_list})

user_list.html:

{% load static %} <!-- 導(dǎo)入 static 文件 -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1> 模板語(yǔ)法 </h1>
<div>{{ k1 }}</div>
<hr/>
<!-- k2: 原樣顯示,k2.:顯示某項(xiàng) -->
<!-- 數(shù)組 -->
<div>{{ k2 }}</div>
<div>{{ k2.0 }}</div>
<div>{{ k2.1 }}</div>
<div>{{ k2.2 }}</div>
<div>
    {% for item in k2 %}
        <span>{{ item }}</span>
    {% endfor %}
</div>
<hr/>
<!-- 字典 -->
{{ k3 }}
{{ k3.name }}
{{ k3.salary }}
{{ k3.role }}
<ul>
    {% for key, value in k3.items %}
        <li>{{ key }} = {{ value }}</li>
    {% endfor %}
</ul>
<hr/>
<!-- 復(fù)合結(jié)構(gòu) -->
{{ k4 }}
{{ k4.0 }}
{{ k4.0.name }}
{% for item in k4 %}
    <div>{{ item.name }} : {{ item.salary }}</div>
{% endfor %}
<hr/>
<!-- 條件判斷 -->
{% if k1 == "張三" %}
    <h1> 我是張三 </h1>
{% elif k1 == "李四" %}
    <h1> 我是李四 </h1>
{% else %}
    <h1> 我是.. </h1>
{% endif %}
</body>
</html>

瀏覽器效果:
python django,Python,python,django

3.4 請(qǐng)求和響應(yīng)

view.py:

from django.shortcuts import render, HttpResponse, redirect


# Create your views here.
def request_response(request):
    # request 是一個(gè)對(duì)象,封裝了用戶發(fā)送過來的所有請(qǐng)求相關(guān)數(shù)據(jù)

    # 1.【請(qǐng)求】獲取請(qǐng)求的方式 GET/POST
    print(request.method)

    # 2.【請(qǐng)求】GET:在 URL 上傳遞值,速度快,但用戶可見
    # 若瀏覽器輸入:http://127.0.0.1:8000/request_response?n=1&m=2
    # 則此處輸出值:<QueryDict: {'n': ['1'], 'm': ['2']}>
    print(request.GET)

    # 3.【請(qǐng)求】POST:在 請(qǐng)求體 中傳遞值,用戶不可見
    print(request.POST)

    # 4.【響應(yīng)】將字符串的內(nèi)容返回給請(qǐng)求者
    # return HttpResponse("返回內(nèi)容")

    # 5.【響應(yīng)】讀取HTML的內(nèi)容 + 渲染(替換)
    #return render(request, "request_response.html", {"title": "我來了"})

    # 6.【響應(yīng)】重定向
    return redirect("https:www.baidu.com")

templates 目錄下新建 request_response.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1> 某些請(qǐng)求 {{ title }}</h1>
</body>
</html>

urls.py:文章來源地址http://www.zghlxwxcb.cn/news/detail-726648.html

from django.urls import path

from app01 import views

urlpatterns = [
    # path('admin/', admin.site.urls),
    path('index/', views.index),

    path('user/list', views.user_list),

    # 請(qǐng)求和響應(yīng)
    path('request_response', views.request_response)
]

3.5 表單

views.py:

from django.shortcuts import render, HttpResponse, redirect


# Create your views here.
def login(request):
    if request.method == "GET":
        return render(request, "login.html")

    # 如果是 POST 請(qǐng)求,則獲取用戶提交的數(shù)據(jù)
    userName = request.POST.get("user")
    passWord = request.POST.get("pwd")
    if userName == 'admin' and passWord == "123":
        return HttpResponse("登錄成功!")
    else:
        return render(request, "login.html", {"error_msg": "用戶名或密碼錯(cuò)誤"})

templates 目錄下新建 login.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>用戶登錄</h1>
<form action="/login/" method="post">
    {% csrf_token %}
    <input type="text" name="user" placeholder="用戶名">
    <input type="password" name="pwd" placeholder="密碼">
    <input type="submit" value="提交"> {{ error_msg}}
</form>
</body>
</html>

python django,Python,python,django

urls.py:

"""
from django.contrib import admin
from django.urls import path

from app01 import views

urlpatterns = [
    # path('admin/', admin.site.urls),

    # 用戶登錄
    path('login/', views.login)
]

到了這里,關(guān)于Python Django 詳解(基礎(chǔ))的文章就介紹完了。如果您還想了解更多內(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)文章

  • Python Django 之模板繼承詳解(extends)

    Python Django 之模板繼承詳解(extends)

    模板繼承 和 類繼承 的目的是一樣的,都是為了提高代碼的復(fù)用 登錄效果:

    2024年02月06日
    瀏覽(26)
  • Python Django 之全局配置 settings 詳解

    Python Django 之全局配置 settings 詳解

    對(duì)應(yīng)項(xiàng)目下的 apps.py 文件,如: 在根目錄下添加 templates 文件夾,可實(shí)現(xiàn)跳轉(zhuǎn)至對(duì)應(yīng)名稱的 HTML 頁(yè)面 方式1:項(xiàng)目?jī)?nèi)創(chuàng)建 static 文件夾 方式2:項(xiàng)目外創(chuàng)建 static 文件夾

    2024年02月08日
    瀏覽(15)
  • 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】【進(jìn)階篇】24、Django if標(biāo)簽詳解

    【Python】【進(jìn)階篇】24、Django if標(biāo)簽詳解

    本節(jié)繼續(xù)講解 Django 的模板語(yǔ)言,Django 內(nèi)置了許多標(biāo)簽用于簡(jiǎn)化模板的開發(fā)過程,同時(shí) Django 也支持自定義標(biāo)簽,這極大的方便了 Web開發(fā)者,下面我們依次進(jìn)行介紹。 Django 的模板系統(tǒng)對(duì)標(biāo)簽的解釋是在渲染的過程中提供相應(yīng)的邏輯,比如Python 語(yǔ)言中 if…else 語(yǔ)句、with 語(yǔ)句、

    2024年02月03日
    瀏覽(18)
  • Python Django 之連接 Mysql 數(shù)據(jù)庫(kù)詳解

    Python Django 之連接 Mysql 數(shù)據(jù)庫(kù)詳解

    博客:https://blog.csdn.net/qq_34745941/article/details/122549376 若已安裝,請(qǐng)忽略。 主要使用的文件如圖 若 pip 安裝失敗,可進(jìn)入 Python 官方庫(kù)中下載 whl 文件,操作可參考: 博客:https://blog.csdn.net/qq_34745941/article/details/106341898 在 settings.py 中,配置 Mysql 的連接串 擴(kuò)展: Django 也支持其

    2024年02月04日
    瀏覽(27)
  • Python web實(shí)戰(zhàn)之Django URL路由詳解

    ? 技術(shù)棧:Python、Django、Web開發(fā)、URL路由 Django是一種流行的Web應(yīng)用程序框架,它采用了與其他主流框架類似的URL路由機(jī)制。URL路由是指將傳入的URL請(qǐng)求映射到相應(yīng)的視圖函數(shù)或處理程序的過程。 URL路由是Web開發(fā)中非常重要的概念,它將URL映射到特定的視圖函數(shù)。在Django中,

    2024年02月14日
    瀏覽(698)
  • Python web實(shí)戰(zhàn)之Django 的緩存機(jī)制詳解

    Python web實(shí)戰(zhàn)之Django 的緩存機(jī)制詳解

    :Python、Web 開發(fā)、Django、緩存 在 Web 開發(fā)中,緩存是一種用于存儲(chǔ)數(shù)據(jù)的臨時(shí)存儲(chǔ)區(qū)域。它可以提高應(yīng)用程序的性能和響應(yīng)速度,減輕服務(wù)器的負(fù)載。 當(dāng)用戶訪問網(wǎng)頁(yè)時(shí),服務(wù)器會(huì)執(zhí)行一系列操作來生成動(dòng)態(tài)內(nèi)容,這些操作可能包括數(shù)據(jù)庫(kù)查詢、復(fù)雜的計(jì)算等。 如果

    2024年02月13日
    瀏覽(89)
  • Python web實(shí)戰(zhàn)之 Django 的模板語(yǔ)言詳解

    Python web實(shí)戰(zhàn)之 Django 的模板語(yǔ)言詳解

    Python、web開發(fā)、Django、模板語(yǔ)言 ? ? 作為 Python Web 開發(fā)的框架之一,Django 提供了一套完整的 MVC 模式,其中的模板語(yǔ)言為開發(fā)者提供了強(qiáng)大的渲染和控制前端的能力。本文介紹 Django 的模板語(yǔ)言。 ? Django 的模板語(yǔ)言是一種基于 HTML 的模板語(yǔ)言,它提供了豐富的標(biāo)簽和過濾器

    2024年02月14日
    瀏覽(95)
  • 【零基礎(chǔ)入門學(xué)習(xí)Python---Python網(wǎng)絡(luò)編程之django快速入門實(shí)踐】

    【零基礎(chǔ)入門學(xué)習(xí)Python---Python網(wǎng)絡(luò)編程之django快速入門實(shí)踐】

    ?? Python ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣? ?? 作者簡(jiǎn)介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國(guó)家獎(jiǎng)學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文|經(jīng)驗(yàn)

    2024年02月16日
    瀏覽(53)
  • Python web實(shí)戰(zhàn)之Django 的 WebSocket 支持詳解

    Python web實(shí)戰(zhàn)之Django 的 WebSocket 支持詳解

    ?:Python, Django, WebSocket, Web ? 如何使用 Django 實(shí)現(xiàn) WebSocket 功能?本文將詳細(xì)介紹 WebSocket 的概念、Django 的 WebSocket 支持以及如何利用它來創(chuàng)建動(dòng)態(tài)、響應(yīng)式的 Web 應(yīng)用。 ? 1.1 什么是 WebSocket? 在 Web 開發(fā)中,當(dāng)我們需要實(shí)現(xiàn)實(shí)時(shí)交互、即時(shí)通信或?qū)崟r(shí)更新數(shù)據(jù)的功能時(shí)

    2024年02月12日
    瀏覽(91)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包