怎么用pycharm搭建flask小项目

怎么用pycharm搭建flask小项目(借鉴别人的项目,也提出一些自己的经验,和师父的帮助,才慢慢调试出来的)


1、pycharm下载:
首先下载的pycharm必须是professional版本而不是community版本,professional版本必须得有激活码或是注册码,参考网址:https://blog.csdn.net/hhtnan/article/details/79219433


2、pycharm的配置
项目的搭建参考网址:http://www.cnblogs.com/mysql-dba/p/6066861.html


3、搭建小型flask项目
需要注意的几点:
Flask框架的学习与实战(二):实战小项目中
2.1)修改配置文件setting.py文件mysql数据库连接信息,这里改为自己的账号
SQLALCHEMY_DATABASE_URI = "mysql://username:password@ip:port/dbname"
2.2)让项目读取配置文件init.py
app.config.from_object('blog2.setting') #模块下的setting文件名,不用加py后缀
app.config.from_envvar('FLASKR_SETTINGS') #环境变量,指向配置文件setting的路径
注意一定要增加'FLASKR_SETTINGS的环境变量,路径为setting文件的路径
3)创建数据库和表——特别注意
首先要在数据库中创建好数据库create database **;
windows命令行模式下,cd到项目runserver.py那个目录下,进入python shell下,

>> from blog2 import db
>> db.create_all()
##直接输入这两句会有错误,需要在改为这样
>> from blog2 import db
>> from blog2.model import User,Category
>> db.create_all()
##并且中间这已经只能在命令行中增加,在代码中增加会出错

结果:打开数据库,会发现自己创建的数据库中会有新增加的两个表,user表和category表

最需要注意的是包的引用以及放置的问题和相互之间的依赖关系

Flask框架的学习与实战(三):登陆管理
1、安装flask-login——注意flask-login的版本问题,之前配置的是版本为2.0的版本,导致有些方法明明引用了,但是还是出现灰色的波浪线,最后下载了版本为4.0的最新的版本后,没有出现这类问题,有时候版本问题也是很重要的
2.1) 在/blog2/init.py添加:
from flask.ext.login import LoginManager(后面的一样需要改正)
跟着做实践的时候,发现.ext不对,变成了_后才正确
2.4) 模板中引用用户

{% if current_user.is_authenticated() %}
Hi {{ current_user.name }}!
{% endif %}
将之前layout.html和show_entries.html模板中判断用户是否登陆方式改为flask-login中的方式:

{% if not current_user.is_authenticated() %}

——原文中不知道具体放在模板的哪个文件下,我是放在layout.html文件中

——也就是将layout.html和show_entries.html中的{% if not session.logged_in %}和{% if session.logged_in %}改为{% if not current_user.is_authenticated() %和{% if current_user.is_authenticated() %}
Hi {{ current_user.name }}!


最终:
这个是最后页面的呈现页面的某一部分的展现:
current_user值:在用户没有登陆时,值为<flask_login.AnonymousUserMixin object at 0x0000000003DCF550>,也就是匿名用户
用户登陆后,值为<User u'admin'>


在调试工程的时候,也出现很多问题,总结一下:
1、配置FLASKR_SETTINGS的环境变量的时候,明明都已经配置了,但是运行还是不对,说是没有配置?——这时最好的方法就是关闭pycharm,然后再运行,如果不行,就开关机,调试这里的时候,始终都不知道是为啥,最后开关机就解决这个问题了
2、特别要注意的是引入包的先后顺序,特别是依赖关系,有先后顺序,不然会出错,其中有一个包是from blog2.model.User import User,必须要有前面的User才行,不行运行不成功,还有放置的位置也有很大关系
3、灰色波浪线的问题,明明函数都被引用,可是却显示灰色波浪线,提示是没有被引用,这时就应该更新flask-login的问题
4、一个今天学到的问题,就是当出现异常的时候,因为是堆栈的关系,首先从最后面看起,看自己编写的函数出现的问题,而不是看系统的函数
5、在Flask框架的学习与实战(二):实战小项目中中需要提前输入自己的用户名和密码到数据库,否则会出现错误

目前的这个项目就出现这些问题,搞了好久还弄完,感谢大神,感谢师父

猜你喜欢

转载自blog.51cto.com/12602793/2117718