pyhton flask学习笔记(二)

折腾了flask差不多有一个多月了,开始是先简单的学习了下pyhton的基础,之后就是跟着狗书整,学的时候很艰难,学完觉得自己就是弱智,好吧`这说明flask并不难。

————开始————

学习flask项目结构之前是单文件的运行。(那个文件我找不到了,删掉了吧)直接从项目结构的地方说下我踩到的坑。

在之前对flask有个简单粗暴的总结这里我就{{super}}下。

1.

SECRET_KEY

这个和csrf有关,给Cookie加上一个复杂的值,可以去看我的漏洞原理-csrf

 

2.

 
SQLALCHEMY_COMMIT_ON_TEARDOWN = False

SQLALCHEMY_TRACK_MODIFICATIONS = False 主动提交至数据库,第一个好像不能用了。我这里使用了FALSE,所有后面要自己记得提交(db.session.commit())

 

3.

SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:密码@localhost/数据库名字?charset=utf8'

狗书这里用的是sqlite,我也是从sqlite改过来的。

 

mysql 是之后我使用的数据库,pymysql 是把数据库和python连接起来,否则就会发现你在登入的时候,库里面有数据但是就是登入不了。

charset=utf8是用来防止乱码的,我还没有删除折腾过它,不知道具体会发生什么

3.1

记得在User类里面创建的password_hash么,我们自己在用shell创建的时候一定要记得关键字是password而不是password_hash,虽然password_hash也赋值地进去,但是打开我们的表(如何打开mysql之后会说)还会发现他没有加密,这样是不安全,generate_password_hash() 函 数生成散列值,check_password_hash() 函数和表中的散列值相比较。

4.表单

如果用 wtf.html 来渲染表单的话,我觉得不好看,不过做的过程中我还是用了,之后才转换过来。

 

{% block page_content %}
<div class="login">
      <h1>Login</h1>
   <form method="post" class="login-form">
      {{ form.hidden_tag() }}    //我删除它以后无法登入了,
     //模板参数将被替换为一个隐藏字段,用来是实现在配置中激活的 CSRF 保护。我不懂。。。之后再找
    //在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。这个与html有关http://www.jb51.net/web/100210.html
 <span>Name</span><br>
      {{ form.name.lable }}//这与后面的name括号里面要填写的id有关,这个也是属于html的知识,我后面没有添加id,所以删除没变化。
      {{ form.name()}}<br>
      <span>Password</span><br>
      {{ form.password() }}<br><br>
        {{ form.remember_me }}<span>Keep me logged in</span><br>

         {{ form.submit(id="login-submit") }}
   </form>
</div>
{% endblock %}

改了之后flash没有效果了,打算自己之后再加javascript。

 

5.博客

current_user._get_current_object()这个是调用真正的用户,感觉这样找用户更正式一点?!我没有深入。

————————结束语————————

下一个阶段添加注册界面,添加个人资料界面只显示自己的博客,添加文章编辑器,添加评论。这个要过一段时间再开坑了。

万事开头难,现在也觉得还好了,用正确的姿势来搭建网站,虽然一度头疼,但是看着自己变得运用自如也觉得开心。

希望保持这种该边看书,边查资料,边找翻译,边修BUG的姿态,还有警惕让自己不要变成照着敲代码的人,学会改动源代码,知道为什么会是这样,到最后会运用了。

 

参考文章

http://blog.csdn.net/alter__/article/details/70544922   csrf

http://www.jb51.net/web/100210.html   hidden

http://www.cnblogs.com/zhangzhu/archive/2013/07/04/3172486.html  sql指令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值