《python編程從入門到實踐》day38

# 昨日知識點回顧

? ? ? ? 定義、遷移模型Entry

# 今日知識點學習

? ? ? ? 18.2.7 Django shell????????

?????????每次修改模型后,看到重啟后的效果需要重啟shell,退出shell會話Windows系統按ctrl+Z或者輸入exit()

18.3 創建頁面:學習筆記主頁

? ? ? ? 創建頁面三階段:定義URL,編寫視圖和編寫模版

? ? ? ? 18.3.1 映射URL????????

# learning_log\urls.py
from django.contrib import admin
from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('', include('learning_logs.urls'))
]
# learning_logs\urls.py
"""定義learining——logs的URL模式。"""
# 為映射視圖,導入path
from django.urls import path
# 從當前文件夾引入view.py
from . import views
# app_name 區分同項目同名文件
app_name = 'learning_logs'# urlpatterns包含learning_logs中請求的頁面
urlpatterns = [# 主頁path('', views.index, name='index'),# 第一個幫助Django正確路由請求,空字符串與基礎URL匹配,第二個實參指定調用函數,第三個指定URL模式名稱指定為index
]

? ? ? ? 18.3.2 編寫視圖

# learning\views.py
from django.shortcuts import render# Create your views here.
def index(request):"""學習筆記的主頁"""# 傳遞兩個實參:對象request以及一個可用于創建頁面的模版return render(request, 'learning_logs/index.html')

? ? ? ? 18.3.3 編寫模版?

# learning_log\learning_logs\templates\learning_logs\index.html
# <p>段落開始、</p>段落結束
<p>Learning Logs</p><p>Learning Log helps you keep track of your learning, for any topic you're learning about.</p>

?????????瀏覽器網址localhost:8000運行顯示結果:

? ? ? ? ?python manage.py runserver的終端窗口按ctrl+c停用服務器

18.4 創建其他頁面

? ? ? ? 創建兩個顯示數據的頁面:①列出所有主題;②顯示特定主題的所有條目?

? ? ? ? 在此之前,創建一個父模版,項目其他模版都繼承它。

? ? ? ? 18.4.1 模版繼承

? ? ? ? ????????1.父模版

# learning_log\learning_logs\templates\learning_logs\base.html
# 模版標簽{% %}:生成一個與learning——logs/urls.py定義中的'index'URL模式相匹配的URL
# learning_logs是一個命名空間,index是該命名空間中一個名稱獨特的URL模式
<p><a href = "{% url 'learning_logs:index' %}">Learning Log</a>
</p>
# 插入塊標簽,塊名content,是一個占位符,包含信息由子模塊指定
{% block content %}{% endblock content %}

? ? ? ? ? ? ? ? 在簡單的HTML頁面中,鏈接是使用錨標簽<a>定義的:

<a href = "link_url">link text</a>

? ? ? ? ? ? ? ? 2.子模塊????????

# 
# 子模塊第一行必須包含標簽{% extends %},讓Django知道繼承了哪個父模塊
{% extends "learning_logs/base.html" %}# 插入名為content的{% block %}標簽,定義content塊
{% block content %}
<p>Learning Log helps you keep track of your learning, for any topic you're learning about.</p>
# 標簽{% endblock content %}指定內容定義結束位置
{% endblock content %}

? ? ? ? ?18.4.2 顯示所有主題的頁面

? ? ? ????????? 1.URL模式

# learning_logs/urls.py
"""定義learining——logs的URL模式。"""
# 為映射視圖,導入path
from django.urls import path
# 從當前文件夾引入view.py
from . import views
# app_name 區分同項目同名文件
app_name = 'learning_logs'# urlpatterns包含learning_logs中請求的頁面
urlpatterns = [# 主頁path('', views.index, name='index'),# 第一個幫助Django正確路由請求,空字符串與基礎URL匹配,第二個實參指定調用函數,第三個指定URL模式名稱指定為index# 顯示所有的主題path('topics/', views.topics, name='topics')
]

? ? ? ? ? ? ? ? 2.視圖

# views.py
from django.shortcuts import render# 導入所需數據相關聯的模型
from .models import Topic# Create your views here.
def index(request):"""學習筆記的主頁"""# 傳遞兩個實參:對象request以及一個可用于創建頁面的模版return render(request, 'learning_logs/index.html')def topics(request):"""顯示所有的主題"""topics = Topic.objects.order_by('date_added')# 定義一個將要發送模版的上下文context = {'topics': topics}return render(request, 'learning_logs/topics.html', context)

? ? ? ? 3.模塊

# learning_log\learning_logs\templates\learning_logs\topics.html
# 繼承base.html
{% extends "learning_logs/base.html" %}
# 標準HTML中,項目列表稱為無序列表,用<ul></ul>表示
{% block content %}<p>Topics</p>
# 所有主題的項目列表始于<ul>處<ul>
# 循環:{% for item in list %}{% endfor %}{% for topic in topics %}
# HTML標簽<li></li>之間的內容表示一個項目列表項<li>{{  topic }}</li>
# {% empty %}告訴Django在列表topics為空時該怎么辦{% empty %}<li>No topics have been added yet.</li>{% endfor %}</ul>
{% endblock content %}

?????????瀏覽器輸入網址localhost:8000/topics/顯示:

? ? ? ? 18.4.3 顯示特定主題的頁面

? ? ? ? ????????1.URL模式

"""定義learining——logs的URL模式。"""
# 為映射視圖,導入path
from django.urls import path
# 從當前文件夾引入view.py
from . import views
# app_name 區分同項目同名文件
app_name = 'learning_logs'# urlpatterns包含learning_logs中請求的頁面
urlpatterns = [# 主頁path('', views.index, name='index'),# 第一個幫助Django正確路由請求,空字符串與基礎URL匹配,第二個實參指定調用函數,第三個指定URL模式名稱指定為index# 顯示所有的主題path('topics/', views.topics, name='topics'),# 特定主題的詳細頁面path('topics/<int:topic_id>/', views.topic, name='topic')
]

? ? ? ? ?2.視圖

# views.py
from django.shortcuts import render# 導入所需數據相關聯的模型
from .models import Topic# Create your views here.
def index(request):"""學習筆記的主頁"""# 傳遞兩個實參:對象request以及一個可用于創建頁面的模版return render(request, 'learning_logs/index.html')def topics(request):"""顯示所有的主題"""topics = Topic.objects.order_by('date_added')# 定義一個將要發送模版的上下文context = {'topics': topics}return render(request, 'learning_logs/topics.html', context)def topic(request, topic_id):"""顯示單個主題"及所有的條目"""topic = Topic.objects.get('id=topic_id')entries = topic.entry_set.order_by('-date_added')context = {'topic': topic, 'entries': entries}return render(request, 'learning_logs/topic.html', context)

? ? ? ? 3. 模版

# topic.html
{% extends 'learning_logs/base.html' %}{% block content %}<p>Topic: {{ topic }}</p><p>Entries:</p><ul>{% for entry in entries %}<li>
# Django中豎線(|)表示模版過濾器,即對模版變量的值進行修改的函數<p>{{ entry.date_added|date:'M d, Y H:i' }}</p><p>{{ entry.text|linebreaks  }}</p></li>{% empty %}<li>There are no entries for this topic yet.</li>{% endfor %}</ul>{% endblock content %}

? ? ? ? 4.將顯示所有主題的頁面中的主題設置為鏈接

# topics.html
{% extends "learning_logs/base.html" %}{% block content %}<p>Topics</p><ul>{% for topic in topics %}<li><a href =" {% url 'learning_logs:topic' topic.id %}">{{ topic  }}</a></li>{% empty %}<li>No topics have been added yet.</li>{% endfor %}</ul>
{% endblock content %}

? ? ? ? ? ? ? ? ?瀏覽器輸入ValueError at /topics/2/顯示結果:

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

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

相關文章

介紹一下Hugging Face,這個公司的背景是什么

Hugging Face是一家成立于2016年的人工智能公司&#xff0c;專注于為AI研究人員和開發者提供開源模型庫和工具。以下是關于Hugging Face公司的詳細背景介紹&#xff1a; 公司歷史與創始人&#xff1a; Hugging Face由Clment Delangue、Julien Chaumond和Thomas Wolf三位法國籍…

E0144 “const char *“ 類型的值不能用于初始化 “char *“ 類型的實體

解決方案&#xff1a; 在Visual Studio中&#xff0c;在項目上右鍵&#xff0c;屬性 >> C/C >> 語言 >> 符合模式&#xff0c;改為“否”。

AI大模型探索之路-基礎篇5:GLM-4解鎖國產大模型的全能智慧與創新應用

目錄 前言一、GLM4大模型總體概述二、GLM4和GPT4功能對比三、GLM4和GPT4性能對比1、基礎能力&#xff08;英文&#xff09;2、指令跟隨能力3、對齊能力4、長文本能力5、多模態-文生圖 四、GLM-4 ALL Tools1、文生圖2、代碼解釋器3、網頁瀏覽4、Function Call5、多工具自動調用 …

【學習筆記】關于建模時需要調整的變量

在進行回歸分析時&#xff0c;選擇調整變量&#xff08;也就是模型中的協變量&#xff09;需要謹慎考慮。調整的變量并不一定必須是混雜因素&#xff0c;但通常情況下&#xff0c;目的是為了控制那些可能扭曲主要自變量和因變量關系的混雜因素。除了混雜因素&#xff0c;還有幾…

C語言之指針進階(3),函數指針

目錄 前言&#xff1a; 一、函數指針變量的概念 二、函數指針變量的創建 三、函數指針變量的使用 四、兩段特殊代碼的理解 五、typedef 六、函數指針數組 總結&#xff1a; 前言&#xff1a; 本文主要講述C語言指針中的函數指針&#xff0c;包括函數指針變量的概念、創建…

【面試干貨】事務的并發問題(臟讀、不可重復讀、幻讀)與解決策略

【面試干貨】事務的并發問題&#xff08;臟讀、不可重復讀、幻讀&#xff09;與解決策略 一、臟讀&#xff08;Dirty Read&#xff09;二、不可重復讀&#xff08;Non-repeatable Read&#xff09;三、幻讀&#xff08;Phantom Read&#xff09;四、總結 &#x1f496;The Begi…

Stable Diffusion——U-ViT用于擴散建模的 ViT 主干網

1.概述 擴散模型是最近出現的強大的深度生成模型&#xff0c;可用于生成高質量圖像。擴散模型發展迅速&#xff0c;可應用于文本到圖像生成、圖像到圖像生成、視頻生成、語音合成和 3D 合成。 除了算法的改進&#xff0c;骨干網的改進在擴散建模中也發揮著重要作用。一個典型…

nginx代理前端html

正常配置&#xff0c;通過www.example.com或192.168.20.12:80訪問server {listen 80;server_name example.com www.example.com;root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ 404;} }解釋&#xff1a; listen 80;&#xff1a;監聽 HTTP 端…

汽車R155法規中,汽車獲取到的VTA證書,E后面的數字表示什么意思?

標簽&#xff1a; 汽車R155法規中&#xff0c;汽車獲取到的VTA證書&#xff0c;E后面的數字表示什么意思&#xff1f;&#xff1b; 汽車&#xff1b;VTA認證; 有些廠商汽車拿到的VTA證書上面寫著E9&#xff0c; 有些廠商汽車拿到的VTA證書上面寫著E5&#xff0c;E9與E5有什么差…

嵌入式之音頻基礎知識

聲音特性 1、響度&#xff1a;人主觀上感覺聲音的大小&#xff08;俗稱音量&#xff09;&#xff0c;由“振幅”和人離聲源的距離決定&#xff0c;振幅越大響度越大&#xff0c;人和聲源的距離越小&#xff0c;響度越大&#xff1b; 2、音調&#xff1a;聲音的高低&#xff0…

多商戶消費券系統源碼(ThinkPHP+FastAdmin+微信公眾號)

打造智能促銷新體驗 一、引言&#xff1a;消費券系統的時代意義 在當今這個數字化高速發展的時代&#xff0c;電子商務和移動支付已經成為人們日常生活的重要組成部分。隨著市場競爭的加劇&#xff0c;多商戶消費券系統作為一種創新的促銷手段&#xff0c;正逐漸受到商家和消…

k8s筆記 | helm包管理

什么是Helm kubenetes包管理器&#xff0c;是查找&#xff0c;分享和使用軟件構件 kubernetes的最佳方式&#xff1b; 可以做什么 從頭開始創建新的chart將chart打包成歸檔(tgz)文件與存儲chart的倉庫進行交互與現有的kubernates集群中安裝和卸載chart管理與Helm一起安裝的 …

從零訓練yolov8

1.收集數據 2.數據標注 pip install labelimg3.劃分數據集 0.2的驗證機0.8的訓練集 import os from shutil import copyfile from sys import exit import randomsource r"D:\Data\imgs\screenc" \\ target_train r"D:\Data\imgs\datasets\mydata\images\t…

aws msk加密方式和問控制連接方式

msk加密方式 msk提供了兩種加密方式 靜態加密傳輸中加密 創建集群時可以指定加密方式&#xff0c;參數如下 aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file:/…

Android四大組件 Broadcast廣播機制

一 概述 廣播 (Broadcast) 機制用于進程或線程間通信&#xff0c;廣播分為廣播發送和廣播接收兩個過程&#xff0c;其中廣播接收者 BroadcastReceiver 是 Android 四大組件之一。BroadcastReceiver 分為兩類&#xff1a; 靜態廣播接收者&#xff1a;通過 AndroidManifest.xm…

flutter 實現旋轉星球

先看效果 planet_widget.dart import dart:math; import package:flutter/material.dart; import package:vector_math/vector_math_64.dart show Vector3; import package:flutter/gestures.dart; import package:flutter/physics.dart;class PlanetWidget extends StatefulW…

echarts-樹圖、關系圖、桑基圖、日歷圖

樹圖 樹圖主要用來表達關系結構。 樹圖的端點也收symbol的調節 樹圖的特有屬性&#xff1a; 樹圖的方向&#xff1a; layout、orient子節點收起展開&#xff1a;initialTreeDepth、expandAndCollapse葉子節點設置&#xff1a; leaves操作設置&#xff1a;roam線條&#xff1a…

告別 Dart 中的 Future.wait([])

作為 Dart 開發人員&#xff0c;我們對異步編程和 Futures 的強大功能并不陌生。過去&#xff0c;當我們需要同時等待多個 future 時&#xff0c;我們依賴 Future.wait([]) 方法&#xff0c;該方法返回一個 List<T>。然而&#xff0c;這種方法有一個顯著的缺點&#xff1…

2、xss-labs之level2

1、打開頁面 2、傳入xss代碼 payload&#xff1a;<script>alert(xss)</script>&#xff0c;發現返回<script>alert(xss)</script> 3、分析原因 打開f12&#xff0c;沒什么發現 看后端源碼&#xff0c;在這form表單通過get獲取keyword的值賦給$str&am…

跑大模型的經驗

LLama2: 1. 使用torchrun來跑&#xff1a; torchrun --nproc_per_node 1 example_text_completion.py \--ckpt_dir llama-2-7b/ \--tokenizer_path tokenizer.model \--max_seq_len 128 --max_batch_size 4 關于集群分布式torchrun命令踩坑記錄&#xff08;自用&#xff09;…