(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