用django,mysql设计一个聊天,好友验证,朋友圈功能项目

本文档详细介绍了使用Django框架和MySQL数据库设计一个包含聊天、好友验证和朋友圈功能的项目。从登陆界面获取用户名到数据库操作,如用户搜索好友、消息验证、数据库添加等,再到各个功能页面的演示,包括登陆、好友显示、消息发送和朋友圈发布。此外,还提到了代码组织结构和未来改进方向,强调了写注释和数据处理能力的重要性。
摘要由CSDN通过智能技术生成

(1)重中之重!!!------------------------------------------------解决问题的思路

(1,1)如何获取每个页面的用户名字-----由登陆界面获取用户名------global变量

(1,2)用户消息验证-----由用户搜索好友账号-----数据库查询(重名,不存在,已经成为好友)--若失败,则返回报错结果(返回到text框中)-----若成功--则数据库添加(用户名,邀请人)

(2)项目演示

(2,1)登陆界面

(2,2)好友显示界面

(2,2,1)用户数据库

(2,2,2)已成为好友的数据库

(2,2,3)显示界面(例如我们登录zhangsan)

(2,2,4)我们随机选择一位聊天,例如和wangwu聊天,点击wangwu

(2,2,5)点击发送(忘记换行了。。。)再发送一句

(2,2,6)点击首页,验证搜索功能,(先进行错误示范,分别输入abc(不存在),zzz(已经成为好友),zhexiangm(正确))

 

(2,2,7)此时我们退出登录,再以zhexiangm用户身份登录进去,再点击消息验证,我会分别给你呈现三个图

(2,2,7,1)原先图片

 

(2,2,7,2)点击消息验证,点击同意

(2,2,7,3)现在的界面(此时多了一个叫zhangsan的好友)

(2,3)点击朋友圈

(2,3,1)发送一句django使我快乐

(3)功能完成!!!!

 (4)代码

(4,1)urls.py

from django.urls import path
from . import views
urlpatterns = [
    path('',views.login,name='user_login'),
    path('index/',views.index,name='user_index'),
    path('chat/',views.chat,name='user_chat'),
    path('friend/',views.friend,name='user_friend'),
    path('pyq/',views.pyq,name='user_pyq'),
]

(4,2)views.py

import pymysql
import datetime
from django.shortcuts import render
from django.views.decorators.csrf import csrf_exempt
from django.template import loader
from django.http import HttpResponse
from django.urls import path
from django.shortcuts import render, redirect
from django.views.decorators.csrf import csrf_exempt
conn = pymysql.connect(host="localhost",user='root',password='123',charset='utf8')
cursor = conn.cursor()
sql_one = 'use user_management;'
cursor.execute(sql_one)
conn.commit()
sql_two = 'select * from user;'
cursor.execute(sql_two)
conn.commit()
user_name = []
for x in cursor.fetchall():
    user_name.append(list(x))
print(user_name)
name = ''
def login(request):
    if "POST"==request.method:
        username = request.POST.get('username')
        password = request.POST.get('password')
        print(username)

        print(password)
        for x in user_name:
            if username or password:
                if username in x and password in x:
                   print(2)
                   global name#使用全局变量表明
                   name = username
                   sql_third = 'use user_chat;'
                   cursor.execute(sql_third)
                   sql_four = 'select * from friend;'
                   cursor.execute(sql_four)
                   global user_friend
                   user_friend = []
                   for x in cursor.fetchall():
                       b =  list(x)
                       if name in b:
                          b.remove(name)
                          user_friend.extend(b)######找出用户的好友,放入名叫user——friend的数组中
                   sql_five = 'select name_f2f from chat;'
                   cursor.execute(sql_five)
                   """
                          为避免为后面多增加一些成员列表;
                   """
                   user_old = []#调出聊天名单
                   for x in cursor.fetchall():
                      user_old.extend(list(x))
                   sql_four = 'insert into chat (name_f2f,text) values (%s,%s);'
                   for x in use
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值