- 博客(14)
- 问答 (25)
- 收藏
- 关注
原创 12.3 在首页显示所关注用户的文章
一. 我们想添加的功能 之前我们完成了用户之间的相互关注, 我们想在首页增加一个选项如下图: 如果已登录用户访问主页, 我们给两个选项卡, 点击All选项, 显示数据库中所有的文章; 点击Followers选项卡, 显示当前用户所关注的用户的文章和自己的文章。 那我们如何实现上述功能? 答案是我们借助cookie(ps:http://blog.csdn.ne...
2018-04-25 20:09:28 478
原创 二叉树的深度优先遍历和广度优先遍历
package 基础算法;import java.util.LinkedList;import java.util.Queue;public class BinaryTreeTraverseTest { public static void main(String[] args) { BinarySortTree<Integer&...
2018-04-24 20:41:51 172
原创 12.2 在资料页中显示关注者
一. 修改|-app/templates/user.html 我们想在用户资料页面增加几个栏目如下: 对应的功能举例说明如下: 如果已登录的用户A(有关注权限的话)访问别的用户B的页面: 如果A未关注B, 显示一个Follow按钮, 点击关注B, 如果A已经关注B, 显示一个Unfollow按钮, 点击取消关注B; ...
2018-04-24 17:29:26 249
原创 12.1 高级多对多关系
一. 一对多关系 我们前面讲了两个一对多关系:角色和它所对应的用户, 用户和它所对应的文章, 在一对多关系中, 我们在‘一’的这边设置db.relationship, 在‘多’的一边设置一个外键。二. 多对多关系 而数据库除了一对多关系之外还有多对多关系。最常见的是学生选课这个多对多关系, 一个学生可以选择多门课程, 一门课程也可以被多个学生选择, 如果我们在学生这边添加外键显然行不通...
2018-04-22 15:53:25 509
原创 11.6 博客文章编辑器
本节我们为Web程序添加编辑文章的功能。一. 修改|-app/-main/views.py@main.route('edit/<int:id>')@login_requireddef edit(id): post = Post.query.get_or_404(id) if current_user != post.author and not cu...
2018-04-19 16:22:32 308
原创 11.5 为博客添加固定链接
我们有时候希望和朋友分享自己的博客, 所以我们要为每一个博客添加一个唯一的链接以供分享使用。一. 修改|-app/-main/views.py@main.route('/post/<int:id>')def post(id): post = Post.query.get_or_404(id) return render_template('post.html', po...
2018-04-18 22:26:29 681
原创 11.5 在服务器上处理富文本
上节我们讲到使用Flask-PageDown, 把wtf表单中的PageDownField字段中输入的的markdown文本转换成html预览显示在字段下方, 但是我们点击提交按钮时提交的是在表单中填写的markdown文本, 而不是html文本, 所以我们就得想办法把用户提交的markdown文本转换为html文本保存在数据库中。一. 修改|-app/models.pyfrom mark...
2018-04-18 22:08:33 403
原创 11.4 使用Flask-PageDown支持富文本文章
我们编辑长文章的时候, 单一的文本格式便满足不了要求, 于是我们使用PageDown,PageDown的作用是使用javascript实现客户端markdown到html的程序转换。 Flask-PageDown把PageDown集成到wtf表单中, 换言之就是使用javascript把wtf中的markdown转换成html。一. 安装扩展flask-pagedown, markd...
2018-04-18 20:33:07 1459
原创 如何判断链表有环并确定环的起点
首先我们让fast指针(一次走两步)和slow指针(一次走一步)同时指向头结点, 然后同时向后移动。如果链表是一个整环的话, slow指针走一圈的时候与fast指针重合, 此时fast走了两圈。 如果链表不是一个整环, slow指针没来得及走一圈就会与fast指针重合, 此时fast指针比slow指针多走了n圈(n>=1)假设两个指针第一次重合, slow走了S, fast就走了2S, 设圈...
2018-04-18 10:58:54 1058
原创 11.3 如何为我们的博客列表增加分页导航
一. 修改|-app/-main/views.py 我们之前访问主页路由时, 会返回数据库中所有的文章, 这样显得页面很庞大复杂, 于是我们对文章进行分页显示。@main.route('/', methods=['GET', 'POST'])def index(): form = PostForm() #... page = request.args.get('...
2018-04-14 17:11:08 225
原创 11.2 如何在Web程序开发的过程中创建大量虚拟数据库记录
一. 安装forgerypy包&pip install forgerypy二. 修改|-app/models.py1. 修改User表class User(UserMixin, db.Model): #... @staticmethod def generate_fake(count=100): import forgery_py ...
2018-04-13 21:32:45 320
原创 11.1 为博客添加显示和提交文章的功能
一. 修改|-app/models.py Web程序的所有用户的文章存储在数据库里, 每一篇文章就是数据库中的一条记录, 包括文章主体,发布时间, 作者的id等属性。class Post(db.Model): __tablename = 'posts' id = db.Column(db.Integer, primary_key=True) body = db.Co...
2018-04-13 21:12:38 814
原创 10.4 用户头像
通过显示用户头像, 我们可以进一步改进资料页面的外观。一. 修改|-app/modelsclass User(UserMixin, db.Model): avatar_hash = db.Column(db.String(32)) #1 def __init__(self, **kwargs): super(User, self).__init__(...
2018-04-10 21:35:47 249
原创 10.3 设计管理员资料编辑页面
一. 编写表单类——|-app/-main/forms.pyclass EditProfileAdminForm(FlaskForm): #首先创建表单字段, 管理员可以修改任何用户的任何属性 email = StringField('Email', validators=[DataRequired(), Length(1, 64), Email()]) userna...
2018-04-08 15:58:22 574
空空如也
RSA算法中的公钥和私钥可以保存在数据库里面吗?
2019-04-15
java过滤器问题, 求大佬指点
2019-04-12
java synchronized修饰的方法中调用sleep竟然产生这样的输出?!
2018-10-05
memcached存储session, 无法创建sessionid??
2018-09-14
你好python关于str和repr的问题。
2017-07-31
类函数的覆盖问题super
2017-07-30
类模板的继承问题,累模板的继承问题
2016-12-09
栈的表达式求值应用,中缀转后缀
2016-06-23
c++,栈的应用之n皇后问题
2016-06-20
c++顺序表的溢出处理函数
2016-05-27
顺序表判断表满的条件
2016-05-27
运算符重载的this指针问题
2016-05-27
c++ 单链表中的删去某元素函数
2016-05-27
c++ 单链表中的删去某元素函数
2016-05-27
<stdlib.h>头文件是干嘛用的?
2016-05-27
c++与递归 中的单链表搜索指定值
2016-05-13
函数与递归:搜索单链表最后一个结点
2016-05-13
c++求循环队列的元素个数
2016-05-13
c++中双栈的进栈函数的几点问题
2016-05-13
顺序栈中的重载操作<<
2016-05-11
断言机制Assert是否等于这个操作,两者有什么区别?
2016-05-11
顺序栈中的清空栈的函数
2016-05-11
顺序栈的成员函数问题
2016-05-11
c++ 单链表 单链表的附加头结点的i等于零吗?
2016-05-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人