工欲善其事,必先利其器也! Flask 是一个基于 Python 的 web 框架,因此选用 IDE 的时候肯定要选对 Python 最友好的 IDE,在此我推荐使用 Pycharm。
2.1 下载 Pycharm
网址:http://www.jetbrains.com/pycharm/download/
建议选择 Professional Edition 版本,可以免费使用 30 天,如需激活,请购买正版,支持知识产权保护。
2.2 配置 Pycharm 启动方式
在Linux下,把编程工具配置到自己用着顺手的状态,这是一个技术活儿。当你下载了软件之后,你的第一个想法肯定是如何打开它。那么,想要打开 Pycharm,要用到字符命令:
$ sudo sh <pycharm目录>/bin/pycharm.sh
作为一个 IDE 工具,你肯定不乐意,每次都用字符命令来启动,那么,设置成桌面快捷方式启动就是一个不错的想法。
在当前用户的桌面文件夹里新建一个文件,我们取名 Pycharm.desktop,内容如下:
[Desktop Entry]
Version=4.5.4
Name=Pycharm
Comment=python IDE
Exec=/home/eastossifrage/software/pycharm-4.5.4/bin/pycharm.sh
Icon=/home/eastossifrage/software/pycharm-4.5.4/bin/pycharm.png
Terminal=false
Type=Application
Categories=Application;
最后赋予该文件的执行权限:
$ sudo chmod +x Pycharm.desktop
现在你就可以像执行桌面快捷方式一样启动你的程序了。
2.3 配置 Pycharm 主题
打开 pycharm 之后,依次启动界面如下:点击上图中的 keymap scheme,选择自己喜欢的快捷键方案。pycharm04-1
点击 IDE theme,选择自己喜欢的程序主题。当然,如果某一天,或者设置主题完成之后,立刻就对主题不满意的话,你肯定想重新设置 IDE 的主题,那么你可以按照如下操作。
$ rm -Rf .PyCharm40
在当前用户的根目录下做如上操作,.PyCharm40 也并非一成不变,因为我的版本是 4.5.4 ,所以显示是 .PyCharm40。如果是 5.0 以上的版本,应该显示是 .PyCharm50 ,以此类推,发散思维一下。
创建 flask 程序
打开 Pycharm 之后,显示下图:如上图所示,选择好项目的根目录和虚拟解释器后,点击 Create 按钮,即已创建 flask 项目。
当然,一切美好的愿望面对现实的时候都会显得苍白无力,按照上面的步骤设置的 flask项目并不一定都会正确,经常出现的一个问题是,jinja2 模板无法进行自动提示。解决这个问题需要你确定项目根目录下的 “<根目录>/.idea/<项目名>.xml”的内容与下面的内容保持一致。
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app/static" isTestSource="false" />
</content>
<orderEntry type="jdk" jdkName="ousi373 at /opt/ousi373/flask/bin/python" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_CONFIGURATION" value="Jinja2" />
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/app/templates" />
</list>
</option>
</component>
</module>
其中,<sourceFolder>
是表示项目的静态文件夹; < orderEntry>
是虚拟解释器路径; <component name="TemplatesService">
内容 </component>
是用来设置HTML模板的路径。