折腾了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 %}
class="login">
Login
{% 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指令