【python】python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】

請添加圖片描述


👉博__主👈:米碼收割機
👉技__能👈:C++/Python語言
👉公眾號👈:測試開發自動化【獲取源碼+商業合作】
👉榮__譽👈:阿里云博客專家博主、51CTO技術博主
👉專__注👈:專注主流機器人、人工智能等相關領域的開發、測試技術。


python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】


目錄

  • python社交交友平臺系統設計與實現(源碼+數據庫)【獨一無二】
  • 一、設計要求
  • 二、代碼實現
    • 2.1 創建數據庫
    • 2.2 用戶登錄
      • 2.3. 注冊功能
      • 2.4. 用戶菜單
    • 2.5. 更新資料功能
    • 2.6. 管理好友功能
    • 2.7. 添加好友功能
    • 2.8. 刪除好友功能
    • 2.9. 查看好友列表功能
    • 2.10. 發布動態功能
    • 后面代碼太多了,我就不一 一分析了直接看功能展示吧👇
  • 三、功能展示
    • 3.1 用戶端
      • 3.1.1 用戶登錄
      • 3.1.2 用戶注冊
      • 3.1.3 更新用戶資料
      • 3.1.4 管理好友
        • 3.1.4.1 添加好友
        • 3.1.4.2 刪除好友
        • 3.1.4.3 好友列表
      • 3.1.5 發布朋友圈
      • 3.1.6 查看并評論
    • 3.2 管理員
      • 3.2.1 查看所有用戶
      • 3.2.2 刪除用戶
      • 3.2.3 查看所有動態
      • 3.2.4 刪除動態


一、設計要求

基于一門高級語言,搭建一個簡易平臺,所使用的數據庫可以是MySQL或其他合適的數據庫。例如類似以下內容的社交平臺,可基于自己理解做適當變動,也可以自行設計其他應用場景,邏輯自治即可。

用戶端:

  • 用戶端用戶可以注冊,初始化用戶id和密碼
  • 用戶可以登錄,并修改個人基本信息,如姓名、性別、出生日期、年齡
  • 用戶可以搜索、添加、刪除好友,并將好友分組管理
  • 用戶可以發表、修改朋友圈(朋友圈有字數限制),記錄朋友圈最后更新時間
  • 用戶可以查看好友的朋友圈(包含最后更新時間、其他人的評論),并進行評論用戶可以刪除自己的朋友圈,在刪除時該朋友圈相關評論將被自動同時刪除

管理員端:

  • 管理員擁有管理員id和密碼
  • 管理員可以登錄,并修改個人基本信息
  • 管理員可以注銷某用戶,并刪除系統中所有與用戶有關的信息管理員不可瀏覽用戶的個人基本信息,但可以瀏覽所有朋友圈,進行審核和刪除

基于理論課所學習的數據庫設計相關知識,為你的系統設計合適的表結構、完整性約束、視圖等。包含簡單的事務管理、觸發器等功能,具體內容自行設計為實現的功能建立合理的插入、刪除、修改、查詢代碼邏輯,并為可能出現的代碼報錯提供錯誤處理機制至少實現一種交互方式,可以只實現命令行交互分別創建一位用戶和管理員,并在數據庫中初始化部分數據,便于驗收。

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈


二、代碼實現

2.1 創建數據庫

將下面信息更改為數據庫信息,并且保證數據表都已經提前創建好。

import pymysql
import sysconnection = pymysql.connect(host='127.0.0.1',user='root',password='root',db='SocialNetwork',charset='utf8mb4',cursorclass=pymysql.cursors.DictCursor)

執行如下命令,提前把數據庫創建好:

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

CREATE DATABASE SocialNetwork;USE SocialNetwork;-- 用戶表
CREATE TABLE Users (user_id INT AUTO_INCREMENT PRIMARY KEY,# 略....name VARCHAR(50),gender ENUM('M', 'F', 'Other'),birth_date DATE,age INT
);-- 好友關系表
CREATE TABLE Friends (user_id INT,# 略....PRIMARY KEY (user_id, friend_id)
);-- 朋友圈表
CREATE TABLE Moments (moment_id INT AUTO_INCREMENT PRIMARY KEY,# 略....>👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈FOREIGN KEY (user_id) REFERENCES Users(user_id)
);-- 評論表
CREATE TABLE Comments (comment_id INT AUTO_INCREMENT PRIMARY KEY,# 略....FOREIGN KEY (user_id) REFERENCES Users(user_id)
);

2.2 用戶登錄

該函數實現用戶登錄功能,輸入用戶名和密碼后,通過SQL查詢匹配數據庫中的用戶信息。若匹配成功,則根據用戶名判斷是否為管理員,進入相應的菜單;否則,顯示登錄失敗信息并返回主菜單。

def login():username = input("請輸入用戶名: ")password = input("請輸入密碼: ")try:with connection.cursor() as cursor:sql = "SELECT * FROM Users WHERE username = %s AND password = %s"# 略 ....except Exception as e:print(e)

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

這段代碼實現了一個簡單的社交平臺應用,包括用戶和管理員的登錄、注冊、資料更新、好友管理、動態發布與查看、管理員對用戶和動態的管理等功能。以下是對各個模塊的實現思路分析:

2.3. 注冊功能

def register():username = input("請選擇用戶名: ")password = input("請選擇密碼: ")try:with connection.cursor() as cursor:# 略 ....except Exception as e:print("注冊失敗,錯誤: ", e)main_menu()

該函數實現用戶注冊功能,輸入用戶名和密碼后,通過SQL插入操作將新用戶信息保存到數據庫。注冊成功后返回主菜單,否則顯示錯誤信息。

2.4. 用戶菜單

def user_menu(user_id):print("\n======用戶菜單======")print("1. 更新資料")print("2. 管理好友")# 略 ....>👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

該函數實現用戶菜單,提供更新資料、管理好友、發布動態、查看并評論動態、注銷等選項。根據用戶輸入選擇相應的操作。

2.5. 更新資料功能

def update_profile(user_id):print("\n******更新資料******")name = input("請輸入全名: ")# 略 ....

該函數實現更新用戶資料的功能,通過SQL更新操作修改數據庫中的用戶信息。更新成功后返回用戶菜單,否則顯示錯誤信息。

2.6. 管理好友功能

def manage_friends(user_id):print("\n======管理好友======")print("1. 添加好友")print("2. 刪除好友")# 略 ....

該函數實現管理好友的功能,提供添加好友、刪除好友、查看好友列表、返回等選項。根據用戶輸入選擇相應的操作。

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

2.7. 添加好友功能

def add_friend(user_id):friend_name = input("請輸入要添加的好友用戶名: ")group_name = input("請輸入該好友的分組名稱: ")try:with connection.cursor() as cursor:# 略 ....

該函數實現添加好友的功能,通過SQL查詢確定好友用戶ID后,再通過SQL插入操作將好友關系保存到數據庫。操作完成后返回管理好友菜單。

2.8. 刪除好友功能

def remove_friend(user_id):friend_name = input("請輸入要刪除的好友用戶名: ")try:with connection.cursor() as cursor:sql = "SELECT user_id FROM Users WHERE username = %s"cursor.execute(sql, (friend_name,))# 略 ....

該函數實現刪除好友的功能,通過SQL查詢確定好友用戶ID后,再通過SQL刪除操作移除好友關系。操作完成后返回管理好友菜單。

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

2.9. 查看好友列表功能

def list_friends(user_id):try:with connection.cursor() as cursor:sql = "SELECT username FROM Users WHERE user_id IN (SELECT friend_id FROM Friends WHERE user_id = %s)"cursor.execute(sql, (user_id,))results = cursor.fetchall()# 略 ....

該函數實現查看好友列表的功能,通過SQL查詢獲取用戶的所有好友并顯示。操作完成后返回管理好友菜單。

2.10. 發布動態功能

def post_moment(user_id):content = input("請輸入動態內容(最多300字符): ")if len(content) > 300:# 略 ....

該函數實現發布動態的功能,輸入動態內容后,通過SQL插入操作將動態保存到數據庫。發布成功后返回用戶菜單,否則顯示錯誤信息。

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

后面代碼太多了,我就不一 一分析了直接看功能展示吧👇


三、功能展示

3.1 用戶端

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.1.1 用戶登錄

在這里插入圖片描述

3.1.2 用戶注冊

在這里插入圖片描述

3.1.3 更新用戶資料

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.1.4 管理好友

3.1.4.1 添加好友

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.1.4.2 刪除好友

在這里插入圖片描述

3.1.4.3 好友列表

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.1.5 發布朋友圈

在這里插入圖片描述

3.1.6 查看并評論

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.2 管理員

在這里插入圖片描述

3.2.1 查看所有用戶

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.2.2 刪除用戶

在這里插入圖片描述

3.2.3 查看所有動態

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

3.2.4 刪除動態

在這里插入圖片描述

👉👉👉 源碼獲取 關注【測試開發自動化】公眾號,回復 “社交” 獲取。👈👈👈

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

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

相關文章

BEVFuison測試全過程記錄

cuda版本10.1 pytorch: 根據cuda版本選擇pytorch版本: 1. 創建conda虛擬環境: conda create -y --name mmcv python3.8 conda activate mmcv2. 安裝依賴庫: pytorch: conda install pytorch1.7.1 torchvision0.8.2 torchaudi…

智能代理四大范式解析

Agent四大范式 在2024年紅杉資本人工智能峰會上,著名的人工智能專家吳恩達發表了一場備受關注的演講,深入探討了智能代理(agent)的四大范式。這四大范式代表了當前AI技術在不同應用領域中的核心方法和實踐,分別是反思(Reflection)、工具使用(Tool Use)、規劃(Planni…

特征融合篇 | YOLOv8改進之引入輕量級跨尺度特征融合模塊CCFM | 源自RT-DETR

前言:Hello大家好,我是小哥談。CCFM(Cross-Scale Feature Fusion Module)即為跨尺度特征融合模塊。這個模塊的作用是將不同尺度的特征通過融合操作整合起來,以增強模型對于尺度變化的適應性和對小尺度對象的檢測能力。CCFM可以有效地整合細節特征和上下文信息,從而提高模…

2024定制版搶單支付系統源碼(開代理自動搶單接單)

隨著網絡和移動支付技術的不斷進步,搶單支付系統已經成為商家和用戶進行交易的便利工具。2024定制版搶單支付系統源碼為開發者提供了一個可定制化的解決方案,具備開放代理和自動搶單接單功能,幫助用戶快速搭建搶單支付平臺。本文將為您介紹這…

專題匯編 | ChatGPT引領AIGC新浪潮(一)

ChatGPT的產生與迭代 2022年11月末,美國人工智能研究實驗室OpenAI推出ChatGPT。上線的ChatGPT只用了2個月,活躍用戶數就突破了1億,創造了應用增速最快的紀錄。 ChatGPT是什么 ChatGPT是一種人工智能技術驅動的自然語言處理(Natural Language Processing,NLP)工具,使用的…

20240520金融讀報:旅游強國金融數據要素升級融資性貿易房地產政策變化

1、房地產政策變化:1)刺激買方:降首付,公積金貸款利率下調0.25%,商貸貸款利率不設下限 2)托底賣方:“白名單”貸款項目,覆蓋項目建成交付的資金缺口 3)增加賣方&#xff…

RS8751XF功能和參數介紹及PDF資料

以下是關于RS8751XF的功能和參數的介紹: 功能描述: 高速、寬帶單通道運算放大器 軌到軌輸入和輸出,確保較大的動態范圍 極高的增益帶寬乘積(GBW):250 MHz,適合高頻應用 極高的壓擺率(SR&#xf…

MySQL的ODBC驅動下載、安裝以及配置數據源

下載地址:odbc官方下載地址 MySQL :: Download Connector/ODBC 下載安裝ODBC驅動 配置MySQL ODBC 數據源 進入控制面板->系統和安全->Windows工具 Data Source Name填寫需要生成的ODBC數據源的名稱。Description選填。如果使用遠程數據庫服務器&a…

鴻蒙應用開發系列 篇五:鴻蒙系統高級開發技術

文章目錄 系列文章Web組件通知窗口管理網頁圖形庫(WebGL)媒體安全訪問控制用戶認證其他網絡與連接電話服務數據管理文件管理后臺任務管理設備管理系列文章

mysql--數據庫表的創建及基礎命令

今日目標 表的創建 數據庫的數據類型 表的約束 表結構的修改和調整 數據庫的權限管理 單表的數據的CRUD sql的一些規范 SQL的分類 SQL腳本注意點 SQL的注釋 ISO提出SQL官方注釋: 1、多行注釋 /* */ 2、當行注釋 -- 注釋 注意,空格是必不可少的…

微信小程序抓取數據包(Proxifier聯動burpsuite)

1、打開bp,確保開啟127.0.0.1:8080監聽地址。 2、點擊setting--proxy,點擊impor CA certificate,生成bp的證書。 保存到桌面為1.cer,文件后綴為cer就OK了,前綴任意 3、安裝證書,雙擊打開剛剛生成…

BERT系列算法解讀

1.bert訓練的方法 為了訓練BERT模型,主要采用了兩種方法:掩碼語言模型(Masked Language Model, MLM)和下一個句子預測(Next Sentence Prediction, NSP)。 方法一:掩碼語言模型(Mask…

公共Mono模塊筆記

一、公共Mono的主要作用 讓不繼承MonoBehaviour的腳本也能 1.利用幀更新或定時更新處理邏輯 2.利用協同程序處理邏輯 3.可以統一執行管理幀更新或定時更新相關邏輯(不管你是否繼承MonoBehaviour) 二、基本原理 1.通過事件或委托 管理 相關更新函數(如AddUpdateLis…

優化電源設計:反激二極管選擇與注意事項

反激二極管也被稱為續流二極管、緩沖二極管、抑制二極管、鉗位二極管或換向二極管,是一種電子元件,通常應用在開關電源和其他涉及電感性負載的電路中。它的主要功能是保護電路,防止感性負載在開關斷開時產生的反激電壓(或反電動勢…

DOS學習-目錄與文件應用操作經典案例-xcopy

新書上架~👇全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目錄 一.前言 二.使用 三.案例 一.前言 xcopy命令是DOS系統中一個強大的文件和目錄復制工具&…

MySQL——表的約束

表約束 一、概念 ? 表中一定要有各種約束,通過各種約束使得未來插入到數據庫中的數據是合法的,在語法上是沒有問題的; ? 約束本質就是通過技術手段,倒逼著程序員插入正確的數據,換句話說就是,插入進來…

6個精品免費wordpress模板下載

要找到視覺效果非常出色的WordPress模板,我們可以從多個角度來考慮。根據《Smashing WordPress Themes: Making WordPress Beautiful》一書,WordPress不僅僅是一個博客平臺,它還能被用來創建各種風格的網站,從企業網站到攝影畫廊等…

洗地機哪個牌子好?全面評測多款口碑洗地機

洗地機的出現,讓人們擺脫了每天打掃衛生的繁瑣,因為它只需輕輕一推,就能把掃地、拖地、擦地的活全做了,干垃圾濕垃圾統統都能一次清理干凈,操作簡單,更輕松。本文主要分享一些挑選洗地機的技巧,…

python報錯ImportError: The _imagingft C module is not installed

前言 以下解決方案來自gpt,但親測有效,uu們可放心食用 解決方法 ImportError: The _imagingft C module is not installed 錯誤通常表明你的Python環境中缺少用于處理圖像字體的模塊。這可能是由于Pillow(PIL的分支)庫未正確安…

大數據運維學習筆記之Ambari——筑夢之路

原則:分布式存儲和分布式計算分開 今天就到這里啦。