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 %}
class="login">

Login

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

{{ form.remember_me }}Keep me logged in
{{ form.submit(id="login-submit") }}
{% 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指令

你可能感兴趣的:(python)