使用 Django 構建動態網頁

文章目錄

    • 創建 Django 項目和應用程序
    • 創建 HTML 模板
    • 創建視圖函數
    • 配置 URL 路由
    • 運行 Django 服務器
    • 使用 Django 模板語言

Django 是一個流行的 Python Web 框架,它能夠幫助開發人員快速構建強大的 Web 應用程序。在 Django 中,HTML 是用于呈現網頁內容的主要語言之一。本文將介紹如何在 Django 中使用 HTML 創建動態網頁,并演示一些常見的 HTML 元素和 Django 模板語言的用法。
在這里插入圖片描述

創建 Django 項目和應用程序

首先,確保已經安裝了 Django。如果沒有安裝,可以使用以下命令:

pip install django

接下來,創建一個新的 Django 項目:

django-admin startproject myproject

然后,創建一個新的應用程序:

cd myproject
django-admin startapp myapp

創建 HTML 模板

在 Django 中,可以將 HTML 模板存儲在應用程序的 templates 目錄中。創建一個名為 index.html 的 HTML 文件,并將其放置在 myapp/templates 目錄下:

<!-- myapp/templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>My Django App</title>
</head>
<body><h1>Hello, Django!</h1><p>Welcome to my Django app.</p>
</body>
</html>

創建視圖函數

在 Django 中,視圖函數用于處理 HTTP 請求并生成 HTTP 響應。打開 myapp/views.py 文件,并創建一個名為 index 的視圖函數:

# myapp/views.py
from django.shortcuts import renderdef index(request):return render(request, 'index.html')

配置 URL 路由

要使視圖函數能夠響應特定的 URL 請求,需要配置 URL 路由。打開 myproject/urls.py 文件,并添加一個 URL 路由到 index 視圖:

# myproject/urls.py
from django.contrib import admin
from django.urls import path
from myapp import viewsurlpatterns = [path('admin/', admin.site.urls),path('', views.index, name='index'),
]

運行 Django 服務器

現在,可以運行 Django 服務器,并在瀏覽器中訪問應用程序:

python manage.py runserver

打開瀏覽器,并訪問 http://127.0.0.1:8000/,將會看到顯示 “Hello, Django!” 的網頁。

使用 Django 模板語言

除了簡單地在 HTML 中編寫靜態內容外,Django 還提供了模板語言,可以在 HTML 中動態地插入變量、循環和條件語句。以下是一個示例:

<!-- myapp/templates/greet.html -->
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Greet User</title>
</head>
<body><h1>Hello, {{ username }}!</h1>{% if age %}<p>You are {{ age }} years old.</p>{% else %}<p>Your age is unknown.</p>{% endif %}
</body>
</html>

在視圖函數中傳遞變量給模板:

# myapp/views.py
from django.shortcuts import renderdef greet(request):context = {'username': 'John','age': 30,}return render(request, 'greet.html', context)

然后,將視圖函數和 URL 路由關聯起來:

# myproject/urls.py
from django.contrib import admin
from django.urls import path
from myapp import viewsurlpatterns = [path('admin/', admin.site.urls),path('', views.index, name='index'),path('greet/', views.greet, name='greet'),
]

現在,訪問 http://127.0.0.1:8000/greet/,將會看到根據傳遞的變量動態生成的網頁內容。

通過以上步驟,你已經學會了如何在 Django 中使用 HTML 創建動態網頁,并利用 Django 模板語言使網頁內容更加豐富和靈活。 Happy coding!

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

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

相關文章

Spring Boot 復習

2 3 5&#xff08;不考&#xff09; 9 (1)RestController 注解是一個組合注解&#xff0c;等同于Controller 和ResponseBody 兩個注解結合使用的效果。主要作用是將當前類作為控制層的組件添加到 Spring 容器中&#xff0c;同時該類的方法無法返回 JSP 頁面&#xff0c;而且…

Flutter 中的 RenderObjectToWidgetAdapter 小部件:全面指南

Flutter 中的 RenderObjectToWidgetAdapter 小部件&#xff1a;全面指南 Flutter 是一個功能強大的 UI 框架&#xff0c;由 Google 開發&#xff0c;允許開發者使用 Dart 語言構建跨平臺的移動、Web 和桌面應用。在 Flutter 的渲染體系中&#xff0c;RenderObjectToWidgetAdap…

MyBatis面試題系列三

1、#{}和${}的區別是什么&#xff1f; #{}是預編譯處理&#xff0c;${}是字符串替換。 Mybatis 在處理#{}時&#xff0c;會將 sql 中的#{}替換為?號&#xff0c;調用 PreparedStatement 的 set 方法來賦值&#xff1b; Mybatis 在處理${}時&#xff0c;就是把${}替換成變量的值…

SpringBoot項目啟動時“jar中沒有主清單屬性”異常

資料參考 Spring Boot 啟動時 “jar中沒有主清單屬性” 異常 - spring 中文網 (springdoc.cn) 實際解決 更詳細的參考以上&#xff0c;我這邊的話只需要在 pom文件 中加上 spring-boot-maven-plugin 插件就能解決該異常&#xff0c;具體如下&#xff1a; <build><p…

1. 計算機系統概述

1. 計算機系統概述 文章目錄 1. 計算機系統概述1.1 計算機的發展硬件的發展軟件的發展 1.2.1 計算機硬件的基本組成早期馮諾依曼的結構現代計算機的結構 1.2.2 各個硬件的工作原理主存儲器運算器控制器計算機工作過程 1.2.3 計算機系統的多級層次結構1.3 計算機的性能指標存儲器…

GD32如何配置中斷優先級分組以及中斷優先級

使用GD32 MCU的過程中&#xff0c;大家可能會有以下疑問&#xff1a;中斷優先級如何配置和使用&#xff1f; 本文將會為大家解析中斷優先級分組以及中斷優先級的配置使用&#xff1a; 中斷優先級分組配置 一個GD32 MCU系統需要大家明確系統中使用的中斷優先級分組&#xff0…

代駕公司在市場競爭中如何保持優勢?

在競爭激烈的市場中&#xff0c;代駕公司可以通過多種策略保持其競爭優勢&#xff0c;包括利用市場潛力、創新服務模式、提高服務效率以及加強品牌建設等。以下是具體的策略&#xff1a; 利用市場潛力 汽車產業空間巨大&#xff1a;隨著汽車保有量的增加&#xff0c;代駕行業…

掃地機器人:卷價格,不如卷技術

掃地機器人內卷的終點是技術和價值&#xff0c;價格只是附屬品。 一路上漲的價格&#xff0c;一路下跌的銷量 從價格飆升&#xff0c;到重新卷回價格&#xff0c;尷尬的背后是掃地機器人在骨感現實下的無奈抉擇。 根據數據顯示&#xff0c;2020中國掃地機器人線上市場零售均價…

通過可識別性和深度學習重建大腦功能網絡

摘要 本研究提出了一種新的方法來重建代表大腦動力學的功能網絡&#xff0c;該方法基于兩個腦區在同一認知任務中的共同參與會導致其可識別性或其動力學特性降低的觀點。這種可識別性是通過深度學習模型在監督分類任務中獲得的分數來估計的&#xff0c;因此不需要對這種協同參…

零、測試開發前置知識

文章目錄 1、什么是冒煙測試、回歸測試&#xff1f;2、設計測試用例的方法有哪些&#xff1f;3、對于404或500&#xff0c;你會如何分析定位&#xff1f;4、什么是敏捷開發&#xff1f;敏捷開發流程是怎么樣的&#xff1f;5、做接口測試過程中&#xff0c;下游接口需要上游數據…

Flink端到端的精確一次(Exactly-Once)

目錄 狀態一致性 端到端的狀態一致性 端到端精確一次&#xff08;End-To-End Exactly-Once&#xff09; Flink內部的Exactly-Once 輸入端保證 輸出端保證 冪等寫入 事務寫入 Flink和Kafka連接時的精確一次保證 整體介紹 需要的配置 案例 狀態一致性 流式計算本身就…

Java工作學習筆記

1、ConfigurationProperties注解是什么意思&#xff1f; ConfigurationProperties 可以將屬性文件與一個Java類綁定&#xff0c;將屬性文件中的變量值注入到該Java類的成員變量中 示例代碼&#xff1a; /*** SSP配置** author mua*/ Component Data ConfigurationProperties…

如何提高接口響應速度

在非大數據&#xff08;幾萬以上記錄&#xff09;的情況下&#xff0c;影響接口響應速度的因素中最大的是查詢數據庫的次數&#xff0c;其次才是數組遍歷和簡單數據處理&#xff08;如根據已有字段增加新的屬性&#xff0c;或計算值&#xff09;。 一般一次數據庫查詢需要50毫秒…

Java Web應用,IPv6問題解決

在Java Web程序中&#xff0c;如果使用Tomcat并遇到了IPv6相關的問題&#xff0c;可以通過以下幾種方式來解決&#xff1a; 1. 配置Tomcat以使用IPv4 默認情況下&#xff0c;Java可能會優先使用IPv6。如果你希望Tomcat使用IPv4&#xff0c;最簡單的方法是通過設置系統屬性來強…

無線麥克風哪個牌子性價比高?一文告訴你無線領夾麥克風怎么挑選

?當我們談論到演講、表演或者錄制視頻時&#xff0c;一個高質量的無線麥克風能夠使得整個體驗提升至一個全新的水平。它不僅能夠保證聲音的清晰度和真實度&#xff0c;還能夠讓使用者在演講或者表演時更加自信和舒適。基于對市場的深入研究和用戶體驗的考量&#xff0c;我挑選…

TypeScript 中的 tsconfig.json

什么是 tsconfig.json&#xff1f; tsconfig.json 是 TypeScript 編譯器的配置文件&#xff0c;用于指導編譯器如何編譯 TypeScript 代碼。在 TypeScript 項目中&#xff0c;如果存在這個文件&#xff0c;那么在執行 tsc 命令時&#xff0c;編譯器將會使用該文件中定義的配置選…

【Java】解決Java報錯:IllegalArgumentException

文章目錄 引言1. 錯誤詳解2. 常見的出錯場景2.1 非法的參數值2.2 空值或 null 參數2.3 非法的數組索引 3. 解決方案3.1 參數驗證3.2 使用自定義異常3.3 使用Java標準庫中的 Objects 類 4. 預防措施4.1 編寫防御性代碼4.2 使用注解和檢查工具4.3 單元測試 結語 引言 在Java編程…

【NPS】微軟NPS配置802.1x,驗證域賬號,動態分配VLAN(有線網絡續篇)

繼上一篇文章中成功實施了有線802.1x驗證域賬號并動態分配VLAN的策略之后&#xff0c;我們迎來了一個新的目標&#xff1a;在用戶驗證失敗時&#xff0c;自動分配一個Guest VLAN&#xff0c;以確保用戶至少能夠訪問基本的網絡服務。這一改進將顯著提升網絡的靈活性和用戶的上網…

書籍數字字符串轉換為字母組合的種數(4)0607

題目&#xff1a; 給定一個字符串str&#xff0c;str全部由數字字符組成&#xff0c;如果str中某一個或某相鄰兩個字符組成的子串值在1~26之間&#xff0c;則這個子串可以轉換為一個字母。規定“1”轉換為“A”&#xff0c;“2”轉換為“B”&#xff0c;“3”轉換成“C”……“…

Kafka的分區副本機制

目錄 生產者的分區寫入策略 輪詢策略 隨機策略 按key分配策略 亂序分區 自定義分區策略 實現步驟&#xff1a; 消費者組Rebalance機制 Rebalance觸發時機 Rebalance的不良影響 消費者分區分配策略 Range范圍分配策略 RoundRobin輪詢策略 Stricky粘性分配策略 生產…