自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除