BBS项目解析

数据库表同步

文件配置:

1752710-20200115095547481-2029143001.png

连接数据库:

1752710-20200115095600320-2119534380.png
1752710-20200115095635886-1007168854.png

用户继承auth模块里面的auth_user 表的创建

用户表 和 个人站点表

用户表

继承auth_user表
phone
avatar
register_time

个人站点表

站点名称

站点标题

站点样式

1752710-20200115100154810-703703835.png

1752710-20200115162842989-1666546548.png

配置:
1752710-20200115100218675-889980167.png

文章分类表(补上)、文章标签表Tag 文章表Article

文章分类表

分类名

文章标签表

标签名

文章表Article

文章标题
文章摘要
文章详情
创建日期

1752710-20200115100430251-1703952310.png

点站点踩表:

user          一对多用户
article       一对多文章
is_up         布尔值字段

1752710-20200115100700855-918464503.png

文章评论表:

1752710-20200115101008907-1122716736.png

关联表的连接关系:

1752710-20200115101210746-203141101.png

1752710-20200115101241740-18240640.png
多对多 自动创建第三张表
1752710-20200115101656076-866466445.png
数据库优化设计:
1752710-20200115101938852-466772466.png

然后执行数据库迁移,创好表

1752710-20200115204013166-145524980.png

注册用forms组件

业务逻辑:

注册:
1752710-20200115102204909-269578989.png

创建forms主键:

1752710-20200115102717731-769259559.png

1752710-20200115102727818-715390738.png

1752710-20200115102831355-838415215.png

使用到钩子函数:

校验局部钩子用户名是否存在
1752710-20200115102947118-2018396556.png
ju
1752710-20200115103051148-1607558716.png

注册页面搭建

views.py

1752710-20200115103252232-1148427787.png

前端register.html

1752710-20200115103834068-197724747.png
1752710-20200115103955818-798128245.png
自弄一张图:
1752710-20200115104058974-824945912.png
1752710-20200115104326941-113177208.png

效果:
1752710-20200115103745093-256610874.png

1752710-20200115104256872-1277635977.png

用户头像动态展示

插入图片:

1752710-20200115205004368-1711752229.png

效果:头像不显示,因为因为遇到 Io阻塞,所以还没加载出来,所以渲染不出来,要等待加载完毕

1752710-20200115110702521-1311064187.png

效果:
1752710-20200115110944122-281531178.png

注册功能正确业务逻辑ajax

点击按钮ajax提交按钮:

去后端进行判断用户、密码

1752710-20200115112013706-609355024.png

后端:

1752710-20200115112931249-478717462.png
1752710-20200115113151016-1659186036.png

效果:

1752710-20200115210713277-1337447440.png

查看数据库

1752710-20200115113056231-1516349909.png

自动多出一个文件

1752710-20200115113119662-2111058876.png

注册功能错误完善

判断错误信息

views.py

1752710-20200115142546077-299056476.png

正确演示

1752710-20200115142752347-1500671560.png

错误演示

1752710-20200115143150094-195328492.png

返回一个对象,各个字段所对应的信息

1752710-20200115143339064-1100869224.png

把错误信息渲染到页面

1752710-20200115113841874-508289220.png

register.py

1752710-20200115143553007-1796413456.png

效果:

1752710-20200115114325169-2015796178.png

让框变为红色

1752710-20200115114509131-850932113.png
让输入时,后面爆红字体隐藏

1752710-20200115164743742-811015381.png

登录页面搭建

urls.py

1752710-20200115165306242-538412339.png

views.py中定义函数

1752710-20200115114846748-845210620.png

用户登录页面 login.py

login.py

注意把

登陆页面

改为

登录页面

>

1752710-20200115165513913-1980348184.png

1752710-20200115115308483-1110331837.png

效果:

1752710-20200115175326445-577110991.png

完善后

1752710-20200115175541522-1642189909.png

效果:

让图片缩小

1752710-20200115175727409-1727052950.png

效果:

1752710-20200115115444249-1559662119.png

图片验证码相关模块介绍

然后去urls.py中 进行图片验证相关逻辑

1752710-20200115175934834-1102541979.png

然后去views.py视图程定义

1752710-20200115181029826-1545232026.png

views.py

1752710-20200115181050773-995969880.png

效果:向页面返回一个hello ,因为渲染出来的不是一张图片

1752710-20200115180948270-2093319268.png

向页面发送:

1752710-20200115181138246-1783180323.png

没刷新依次都会触发一个get请求

1752710-20200115181351466-1652402209.png

步骤一:找本地图片j
=po'k
效果:
1752710-20200115121618124-836128152.png

步骤二:需要下载一个pillow相关的图片的模块

1752710-20200115181727620-233048121.png

1752710-20200115181845762-1508565380.png

两种导入的用法

1752710-20200115122051869-1615059144.png

1752710-20200115182002792-1294605999.png

怎么用

1752710-20200115122431159-1574146847.png

前端代码:

1752710-20200115182324764-1609932916.png

效果:
1752710-20200115122536837-60371119.png

图片验证码推导

推存使用步骤三:利用 io 内存管理器临时存储产生的图片

效果:

优化让颜色随机变

1752710-20200115182902899-656563680.png

推导步骤四:如何在图片上写字

1752710-20200115153634675-1990434063.png

创一个文件夹存放图片static

1752710-20200115144736567-242208973.png

1752710-20200115183147652-1631517789.png

1752710-20200115183325529-521291277.png

1752710-20200115145812643-2127488964.png

1752710-20200115150321445-1241575689.png

1752710-20200115183724917-1557456524.png

效果:

1752710-20200115151421787-1371823466.png

点击图片随机刷新,添加按钮

1752710-20200115184200631-1193643925.png

1752710-20200115152726817-254388599.png

效果:

1752710-20200115153133662-148951088.png

添加ajax的语法

到后端写登录功能

1752710-20200115152141992-1994689910.png

登录功能

就行后端功能完善 指向前端添加相应属性

1752710-20200115152831744-1196202484.png
1752710-20200115152901060-1676193546.png

向前端进行优化代码后

1752710-20200115185303665-1811261829.png

1752710-20200115185454791-2014396937.png

效果:

1752710-20200115185205042-1653554777.png

首页搭建 home.html

urls.py

1752710-20200115185842604-1593769750.png

1752710-20200115153738907-195393715.png

代码:

CV大法:拿到导航条相应框架 进行修改

1752710-20200115190032008-269948960.png

效果:

1752710-20200115153907419-395930117.png

1752710-20200115190424614-729592935.png

1752710-20200115154557831-1019291806.png

效果:

1752710-20200115154409101-2106170707.png

修改密码弹出框

1752710-20200115191000372-91867164.png

1752710-20200115155423619-763027807.png

效果:

然后到 urls.py 中写

1752710-20200115155216845-835553465.png

配置

然后朝后端发请求

1752710-20200115191839274-500943251.png

1752710-20200115155707478-66875406.png

后端

1752710-20200115192004289-1735929293.png

1752710-20200115192206837-530508086.png

前端验证

1752710-20200115192450662-1232640165.png

1752710-20200115160222834-587902718.png
效果:修改用户密码
1752710-20200115160309231-1331059888.png

注销

后端代码

urls.py

1752710-20200115192612430-1368424800.png

views.py

1752710-20200115192821539-1181965198.png

注销

1752710-20200115160543250-245914927.png

效果:

1752710-20200115193042117-1968058489.png

搭建左右两边页面

复制面板

前端代码:home.html

1752710-20200115193612879-1511822470.png

效果:

页面结束

admin后台管理文章展现

添加超级用户

1752710-20200115194259187-1081571782.png

Email address 之前有一个 Username:admin 就是说名字为admin

1752710-20200115161055318-247150689.png

访问创建的超级用户

1752710-20200115194944011-346491469.png

进入后只有一张表:

1752710-20200115194921385-338873312.png

添加一张表

1752710-20200115194851806-1788396084.png

效果:

点表查看

可以修改个人信息

添加多张表

1752710-20200115161334516-615223291.png

效果:

1752710-20200115195608525-464325572.png

把表中的S去掉、表名变成中文 去每个表中添加
1752710-20200115200013571-2002504788.png

效果:

1752710-20200115195754104-1352015652.png

录文本内容:

顺序

1752710-20200115200322311-1540692586.png

1752710-20200115200441047-1051852199.png

1752710-20200115200550297-1500766817.png

1752710-20200115200626394-1885593513.png

添加打印值

1752710-20200115200846744-827067281.png

每次修改代码后都需从新添加

1752710-20200115162408049-401760695.png

1752710-20200115162003238-1728015088.png

1752710-20200115162109209-685704922.png
1752710-20200115162221440-321239368.png

绑定标签:

绑定文章和标签表

1752710-20200115201951665-1037357792.png

1752710-20200115202123147-343882290.png

用表和个人站点表绑定关系

1752710-20200115202242586-1584330862.png
1752710-20200115202412844-1493994166.png
1752710-20200115202625630-1310428186.png

添加blank=True 后 绑定成功:

1752710-20200115203253570-1164592458.png

当phone 添加blank=True 电话可以为空不报错 否则报错

1752710-20200115162842989-1666546548.png
1752710-20200115162856727-721735960.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值