Django 頁面展示模型創建表的數據

1,添加視圖函數

Test/app8/urls.py

from django.shortcuts import render
from .models import Userdef create_user(request):if request.method == 'POST':username = request.POST.get('username')email = request.POST.get('email')# ... 獲取其他字段的值# 創建用戶實例user = User(username=username,email=email,# ... 填充其他字段)user.save()  # 保存到數據庫# ... 處理成功或失敗的邏輯return render(request, '8/1.html')from django.shortcuts import render, get_object_or_404
from django.http import HttpResponse
from app8.models import Person, Passportdef delete_person(request, person_id):person_to_delete = get_object_or_404(Person, id=person_id)person_to_delete.delete()return HttpResponse("Person and associated Passport have been deleted.")from django.shortcuts import render
from django.http import HttpResponse
from .models import Person, Passport
import datetimedef add_data(request):if request.method == 'POST':name = request.POST.get('name')age = request.POST.get('age')passport_number = request.POST.get('passport_number')issue_date = request.POST.get('issue_date')person = Person(name=name, age=age)person.save()passport = Passport(person=person, passport_number=passport_number, issue_date=datetime.datetime.strptime(issue_date, '%Y-%m-%d').date())passport.save()return HttpResponse("數據已成功保存!")else:return render(request, '8\insert_data.html')def show_data(request):people = Person.objects.all()return render(request, '8\show_data.html', {'people': people})

2,添加路由地址

Test/app8/urls.py

from django.urls import path
from . import viewsurlpatterns = [path('create_user', views.create_user, name='create_user'),path('delete_person/<int:person_id>/', views.delete_person, name='delete_person'),path('add_data/', views.add_data, name='add_data'),path('show_data/', views.show_data, name='show_data'),
]

3,訪問頁面

http://127.0.0.1:8000/app8/show_data/

?

?

4,優化代碼實現分頁

4.1?修改視圖函數

from django.core.paginator import Paginator
from django.shortcuts import renderdef show_data2(request):people_list = Person.objects.all()paginator = Paginator(people_list, 10)  # 每頁顯示10條數據page_number = request.GET.get('page')people = paginator.get_page(page_number)return render(request, '8\show_data2.html', {'people': people})

4.2?修改html代碼

Test/templates/8/show_data2.html

<!DOCTYPE html>
<html>
<head><title>顯示數據</title>
</head>
<body><table><tr><th>姓名</th><th>年齡</th><th>護照號碼</th><th>發行日期</th></tr>{% for person in people %}<tr><td>{{ person.name }}</td><td>{{ person.age }}</td><td>{{ person.passport.passport_number }}</td><td>{{ person.passport.issue_date }}</td></tr>{% endfor %}</table><div class="pagination"><span class="step-links">{% if people.has_previous %}<a href="?page=1">&laquo; 第一頁</a><a href="?page={{ people.previous_page_number }}">上一頁</a>{% endif %}<span class="current">頁碼: {{ people.number }} / {{ people.paginator.num_pages }}</span>{% if people.has_next %}<a href="?page={{ people.next_page_number }}">下一頁</a><a href="?page={{ people.paginator.num_pages }}">最后一頁 &raquo;</a>{% endif %}</span></div>
</body>
</html>

4.3?修改路由地址

?Test/app8/urls.py

from django.urls import path
from . import viewsurlpatterns = [path('create_user', views.create_user, name='create_user'),path('delete_person/<int:person_id>/', views.delete_person, name='delete_person'),path('add_data/', views.add_data, name='add_data'),path('show_data/', views.show_data, name='show_data'),path('show_data2/', views.show_data2, name='show_data2'),
]

4.4?訪問頁面?

http://127.0.0.1:8000/app8/show_data2/?page=1

?

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

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

相關文章

【Python學習篇】Python實驗小練習——異常處理(十三)

個人名片&#xff1a; &#x1f393;作者簡介&#xff1a;嵌入式領域優質創作者&#x1f310;個人主頁&#xff1a;妄北y &#x1f4de;個人QQ&#xff1a;2061314755 &#x1f48c;個人郵箱&#xff1a;[mailto:2061314755qq.com] &#x1f4f1;個人微信&#xff1a;Vir2025WB…

【教程】5分鐘直接了解隨機森林模型

本文來自《老餅講解-BP神經網絡》https://www.bbbdata.com/ 目錄 一、什么是隨機森林模型1.1.隨機森林模型介紹1.2.為什么隨機森林要用多棵決策樹 二、怎么訓練一個隨機森林模型2.1.訓練一個隨機森林模型 隨機森林模型是機器學習中常用的模型之一&#xff0c;它是決策樹模型的一…

Node.js全棧指南:靜態資源服務器

上一章【認識 MIME 和 HTTP】。 我們認識和了解了 MIME 的概念和作用&#xff0c;也簡單地學習了通過瀏覽器控制臺查看請求和返回的用法。 通過對不同的 HTML、CSS、JS 文件進行判斷&#xff0c;設置不同的 MIME 值&#xff0c;得以讓我們的瀏覽器正正確地接收和顯示不同的文…

八爪魚現金流-031,寬帶到期記一筆負債

到期了&#xff0c;新弄的網絡&#xff0c;記錄一下負債包。 八爪魚現金流 八爪魚

英英詞典(匯編實驗)

功能要求&#xff1a; 1.單詞及其英文解釋的錄入、修改和刪除 (1 ) 錄入新單詞&#xff0c;把它插入到相應的位置(按詞典順序)&#xff0c;其后跟英文解釋、同義詞、反義詞&#xff1b;&#xff08;此功能要求在文件中完成&#xff0c;其它功能可以將單詞放在數據段中&#xf…

數據庫原理之數據庫基本概念

目錄 前言 基本概念 數據庫完整性 前言 今天我們來看看數據庫的基本概念&#xff0c;幫助大家對數據庫有一點點最基本的了解 基本概念 4個基本概念 數據data&#xff1a;描述事物的符號&#xff0c;數據庫中存儲的基本對象。 數據庫Database&#xff1a;長期存儲在計算機…

山東大學多核并行2024年回憶版

2024.6.13回憶版 矩陣向量乘不可整除代碼 集合通信與點對點通信的區別 塊劃分、循環劃分、循環塊劃分&#xff08;14個向量&#xff0c;4個進程&#xff09; 按行訪問還是按列訪問快 SISD系統問題 循環依賴問題 問題&#xff1a;為什么不能對這個循環并行化&#xff0…

Python邏輯控制語句 之 綜合案例

需求&#xff1a; 1. 提示?戶輸?登錄系統的?戶名和密碼 2. 校驗?戶名和密碼是否正確(正確的?戶名:admin、密碼:123456) 3. 如果?戶名和密碼都正確&#xff0c;打印“登錄成功!”&#xff0c;并結束程序 4. 如果?戶名或密碼錯誤&#xff0c;打印“?戶名或密碼錯誤!”…

Django 對模型創建的兩表插入數據

1&#xff0c;添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存儲密碼first_name …

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組]

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組] **一、300.最長遞增子序列 ** 鏈接: 代碼隨想錄. 思路&#xff1a;dp[i] 以nums[i]為結尾的遞增子序列最大長度&#xff0c;下標為i的數&#xff0c;需要和下標為0開始一直到下標為…

DM 的斷點續傳測試

作者&#xff1a; 大魚海棠 原文來源&#xff1a; https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三種數據遷移同步方式&#xff08;task-mode&#xff09;&#xff0c;在all同步模式下&#xff0c;因一些特殊情況&#xff0c;需要變更上游MySQL的數…

LDO產品的基礎知識解析

低壓降穩壓器 (LDO)是一種用于調節較高電壓輸入產生的輸出電壓的簡單方法。在大多數情況下&#xff0c;低壓降穩壓器都易于設計和使用。然而&#xff0c;如今的現代應用都包括各種各樣的模擬和數字系統&#xff0c;而有些系統和工作條件將決定哪種LDO最適合相關電路&#xff0c…

鄧普頓的五大投資原則

在《逆向投資 鄧普頓的長贏投資法》的推薦序《“逆向投資大神”鄧普頓五大投資原則》中&#xff0c;劉建位總結了鄧普頓的五大投資原則&#xff0c;分別是“以逆向投資為中心”“以價值投資為選股根本”“以分散投資為組合穩定器”“以全球投資來擴大機會池”“以極度悲觀點投資…

rust單元測試順序執行

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 存在的問題 有時候&#xff0c;不同單元測試之間可能會競爭相同的資源&#xff0c;比如讀寫相同的文件。在這種情況下&#xff0c;如果…

springboot的特點是什么?

Spring Boot是一個基于Spring框架的開源項目&#xff0c;它旨在簡化Spring應用的初始搭建和開發過程。以下是Spring Boot的一些主要特點&#xff1a; 快速開發&#xff1a; Spring Boot提供了許多默認配置&#xff0c;使得開發者可以更快地開始開發應用程序&#xff0c;而無需…

秋招突擊——6/28、6.29——復習{數位DP——度的數量}——新作{}

文章目錄 引言復習數位DP——度的數量個人實現參考實現 總結 引言 頭一次產生了那么強烈的動搖&#xff0c;對于未來沒有任何的感覺的&#xff0c;不知道將會往哪里走&#xff0c;不知道怎么辦。可能還是因為實習吧&#xff0c;再加上最近復習也沒有什么進展&#xff0c;并不知…

Vmware Windows虛擬機卡死了

每次遇到這個問題我都想罵娘&#xff01;&#xff01;&#xff01;&#xff01; 這一次是怎么解決的呢&#xff1f; 解決&#xff1a;我給虛擬機連上網就好了&#xff01; 重啟&#xff0c;開關機&#xff0c;一點用都沒有。

前端 JS 經典:箭頭函數的意義

箭頭函數是為了消除函數的二義性。 1. 二義性 函數的二義性指函數有不同的兩種用法&#xff0c;就造成了二義性&#xff0c;函數的兩種用法&#xff1a;1. 指令序列。2. 構造器 1.1 指令序列 就是調用函數&#xff0c;相當于將函數內部的代碼再從頭執行一次。 1.2 構造器 …

【Linux 工具 】 tcpdump詳細使用說明

目錄 1. 安裝 tcpdump 2. 使用 tcpdump 命令 3. 監聽所有網絡接口 4. 監聽指定網絡接口 5. 保存數據包到文件 6. 讀取保存的數據包文件 7. 過濾數據包 過濾源 IP 地址: 過濾目標 IP 地址: 過濾源和目標 IP 地址: 過濾指定端口: 過濾指定協議: 8. 顯示數據包詳…