1. 程式人生 > >怎麽用pycharm搭建flask小項目

怎麽用pycharm搭建flask小項目

python3 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框架的學習與實戰(二):實戰小項目中中需要提前輸入自己的用戶名和密碼到數據庫,否則會出現錯誤

目前的這個項目就出現這些問題,搞了好久還弄完,感謝大神,感謝師父

怎麽用pycharm搭建flask小項目