2024年字节跳动+京东+美团面试总结,《我用Python写网站05》文章编辑(1),面试建议着正装

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文

编写文章的时候,我们基本上只需要写个标题,然后写写文章主体内容就行了。

接下来,修改新文章发表视图add,这里说明一下,add视图和edit视图是可以放在一起写的,之前我也一直是这么干的。

但是,我一直认为,应该让后端视图的代码、功能越简单、越直白越好,所以这里就分开写了。

编辑视图/add如下:

@bp.route(‘/add’, methods=[‘GET’, ‘POST’])

@login_required # 未登录用户需要先登录

def add(): # 增

form = PostForm() # 获取表单

if form.validate_on_submit(): # 验证表单合法性 post方式提交

post = Post(author=current_user)

post.title = form.title.data.strip()

post.body = form.body.data

post.body_html = ‘’ # markdown对应的html

post.summary = form.summary.data.strip()

if not post.summary: # 用户没有填摘要,自动生成

post.summary = post.body[:255]

db.session.add(post)

db.session.commit() # 写入数据库

post = Post.query.filter_by(author=current_user, title=post.title).order_by(

Post.created.desc()).first() # 对于新添加的文章,是没有id的,所以需要查询

return redirect(url_for(‘blog.detail’, id=post.id))

return render_template(‘blog/edit.html’, form=form)

新建HTML文件app/templates/blog/edit.html,编辑内容如下:

{% extends ‘base.html’ %}

{% from ‘bootstrap5/form.html’ import render_form %}

{% block body_content %}

{% with messages = get_flashed_messages() %}

{% if messages %}

{% for message in messages %}

{{message}}

{% endfor %}

{% endif %}

{% endwith %}

{{ render_form(form) }}

{% endblock %}

启动服务器,访问地址:http://localhost:5000/add,效果如下:

文章编辑页面

可以尝试写写内容,然后去数据库查询一下,是否写入成功。

记得编辑文章之前先登录,否则会跳转登录页的。

mysql> select * from t_posts;

±--------------------±--------±-------±—±-----------±-----------±-------------±----------±----------+

| created | updated | status | id | title | summary | body | body_html | author_id |

±--------------------±--------±-------±—±-----------±-----------±-------------±----------±----------+

| 2022-02-19 08:05:17 | NULL | 0 | 1 | asfaasdfas | adfasdfasd | asdfasdfasdf | | 1 |

±--------------------±--------±-------±—±-----------±-----------±-------------±----------±----------+

1 row in set (0.00 sec)

添加导航栏


还有一个问题,在发表文章的时候,可以感受到,登录注册都需要手动的在浏览器中输入地址,没有导航栏非常的不方便。

templates文件夹下新建文件nav.html,编辑内容如下(比较长,直接复制就行,也可以自己搞一个):

{% if site_name %}

{{site_name}}

{%else%}

Ahoh

{%endif%}

<button class=“navbar-toggler” type=“button” data-bs-toggle=“collapse” data-bs-target=“#navbarColor02”

aria-controls=“navbarColor02” aria-expanded=“false” aria-label=“Toggle navigation”>

  • Home

    (current)

  • Features

  • Pricing

  • About

  • <a class=“nav-link dropdown-toggle” data-bs-toggle=“dropdown” href=“#” role=“button”

    aria-haspopup=“true” aria-expanded=“false”>Dropdown

    Action

    Another action

    Something else here

    Separated link

  • Search

    {% if current_user.is_authenticated %}

  • <a class=“nav-link dropdown-toggle” data-bs-toggle=“dropdown” href=“#” role=“button”

    aria-haspopup=“true” aria-expanded=“false”>{{ current_user.username }}

    <i

    class=“bi bi-plus-lg”> 文章发布

     个人中心

    退出

    {%else%}

  • 注册

  • 登录

    {% endif %}

    然后修改base.html,在{% block body_content %}块上插入以下代码:

    {% block body_header %}

    {% include ‘nav.html’ %}

    {% endblock %}

    然后,还要在{% block head %}块内,插入bootstrap的图标库:

    然后尝试访问登录页,你的效果是下面这样的吗?

    导航栏示意图

    到现在为止,我们的主页还是一片空白,也加个导航栏。

    首先,新建app/templates/blog/index.html,然后编辑内容如下:

    {% extends ‘base.html’ %}

    对应的,修改/index视图,修改内容如下:

    ~/ahoh/app/blog.py

    @bp.route(‘/’)

    @bp.route(‘/index’)

    def index():

    return render_template(‘blog/index.html’)

    如果你也是看准了Python,想自学Python,在这里为大家准备了丰厚的免费学习大礼包,带大家一起学习,给大家剖析Python兼职、就业行情前景的这些事儿。

    一、Python所有方向的学习路线

    Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

    二、学习软件

    工欲善其必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

    三、全套PDF电子书

    书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

    四、入门学习视频

    我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

    四、实战案例

    光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

    五、面试资料

    我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

    成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
    最后祝你好运!!!

    网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

    如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
    img

    一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
    面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

    成为一个Python程序员专家或许需要花费数年时间,但是打下坚实的基础只要几周就可以,如果你按照我提供的学习路线以及资料有意识地去实践,你就有很大可能成功!
    最后祝你好运!!!

    网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

    如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
    [外链图片转存中…(img-7DT7VySM-1713794189160)]

    一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值