前言
最近在看Flask Web开发,感觉这本书写的真不错,里面教开发者如何一步步开发一个博客系统。刚开始看的时候,感觉完全看不懂,语法实在太灵活了。耐着性子看了一段时间,大概了解了开发流程,昨天完成了注册登陆发邮件功能,下面讲下我在学习过程中的心得和一些坑。
创建工程的一些配置
- 1.我是在mac下的pycharm进行开发,为了让html文件有Jinja2的提示,进入控制台来到工程目录,输入ls-a,可以看到一个叫.idea的隐藏文件,进入该文件,如下所示
- 2.用vim编辑sample.iml文件,输入命令vim sample.iml,在文本最后加上如下编辑
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/templates" />
</list>
</option>
</component>
- 3.这样就可以在pycharm的html文件中有Jinja2的提示,点击pycharm最下角的医生头标,可以看到下面这个样子就配置成功了。
- 4.pycharm里可能有波浪线感觉很别扭,选择上面的Inspection到Syntax波浪线就消失了。
程序结构组织
- 1.在flask开发中使用蓝图对程序进行重构,我的蓝图结构为
|-sample
|-app
|-auth
|-__init__.py
|- forms.py
|- views.py
|-main
|-__init__.py
|- views.py
|-static
|-templates
|-__init__.py
|- config
|- db.sqlite
|- email.py
|- models.py
|- doc
|- migrations
|- test
|- venv
|- manager.py
|- requirements.txt
- 2.把应用程序都放在app包里,app里的auth包专门处理用户登陆注册这一块,app里的main包放其余的路由视图函数,包括错误(404,500)视图函数。在auth和main中的
__init__.py
文件中