Flask 目錄結構

2022-05-04 13:15:12 字數 3398 閱讀 5265

一:目標

1.要求:

1. 熟悉flask的目錄結構。

2. 了解應用,裝上新的元件往裡面放,改怎麼弄?

2.作業: 

1.基於flask實現許可權管理

2.筆記:

-  flask的請求週期

二:目錄結構內容

知識點:

1.  從全域性上了解flask專案的目錄結構

2. flask專案的執行機制

3.flask框架實現mvc架構

4.flask-sqlalchemy  操作mysql資料庫

流程步驟:

1.新建專案:blog系統

完成後的目錄結構是這樣的:非常簡單,乙個static資料夾,乙個templates資料夾,乙個py檔案,如下:

2.目錄結構重構,引入包管理

1.針對上面的結構,在最上層blog2目錄下,做如下操作:

1.新建乙個runserver.py 檔案, 作為「專案統一入口檔案」 

2. 新建blog2資料夾,把已經存在的 static,templates, blog2.py 移到blog2資料夾下,

3. 然後分別建立 controller  , model 包(右擊blog2, 選擇 python packge )。 把blog2.py  改名為 __init__.py  ,

4.新建setting.py 檔案。

現在目錄結構如下:

這樣就相當於乙個大工程的結構了:

分析:1. 最上層的 blog2 目錄是專案名稱,乙個專案下可以包括多個模組,也就是應用,每個應用下有自己的配置檔案,初始化檔案,mvc架構。

2. runserver.py : 與應用模組評級,作為專案啟動為檔案。  

3.第二級blog2目錄: 模組名稱

controller : mvc 中的 c, 主要存放 檢視函式。

model   : mvc 中的 m , 主要存放 實體類檔案,對映資料庫表

templates : mvc 中的v, 主要存放 html 檔案

static : 靜態檔案, 主要存放 css, js 等檔案

__init__.py : 模組初始化檔案, flask 程式物件的建立必須在 __init__.py   檔案裡完成, 然後就可以安全的匯入引用每個包。

setting.py  : 配置檔案,資料庫使用者名稱密碼等等

三, 開發**

1. 先把專案執行起來:

1. 編寫__init__.py檔案, 建立專案物件,**如下:

from flask import

flask

#建立專案物件

2. 在 runserver.py , 新增如下**

from blog2 import'/

')defhello_world():

return

'hello world!'if

__name__ == '

__main__':

3. 執行runserver.py 檔案:

然後在瀏覽器中輸入:會顯示helloworld字樣

到這裡為止,專案的雛形就可以正常執行了,下面的事情就簡單了,新增內容,讓專案有血有肉。

2.修改配置檔案。

1. 修改setting.py 檔案,新增配置資料庫連線資訊,如下:

2.讓專案讀取配置檔案

修改_init__,py : 新增如下內容(紅色部分):

#-*- coding: utf-8 -*-

from flask import

flask

from flask_sqlalchemy import

sqlalchemy)#

import os

#print os.environ.keys()

#print os.environ.get('flaskr_settings')

#載入配置檔案內容

blog2.setting

') #

模組下的setting檔名,不用加py字尾

flaskr_settings

') #

環境變數,指向配置檔案setting的路徑

#建立資料庫物件

3.設計資料庫

1.本次練習比較簡單,就兩個表,乙個user表,乙個文章表。我們採用python的orm框架flask-sqlalchemy實現表的建立、增刪改查功能。

在model資料夾中新增user.py和category.py檔案,內容如下:

1.user.py

from blog2 import

dbclass

user(db.model):

__tablename__ = '

b_user

'id = db.column(db.integer,primary_key=true)

username = db.column(db.string(10),unique=true)

password = db.column(db.string(16))

def__init__

(self,username,password):

self.username =username

self.password =password

def__repr__

(self):

return

'' % self.username

2.category.py

from blog2 import

dbclass

category(db.model):

__tablename__ = '

b_category

'id = db.column(db.integer,primary_key=true)

title = db.column(db.string(20),unique=true)

content = db.column(db.string(100))

def__init__

(self,title,content):

self.title =title

self.content =content

def__repr__

(self):

return

'' %self.title

複製**

3.建立資料庫和表

Flask專案檔案目錄

專案配置檔案 import os basedir os.path.abspath os.path.dirname file class config object secret key os.urandom 24 staticmethod defpass class developmentconfi...

Flask 學習1 專案搭建 目錄結構

projectname init py models.py 資料庫模型 emails.py 郵件處理程式 main 程式模組,根據業務區分,不同的模組可以各自擁有自己的單獨目錄 init py views.py errors.py forms.py templates jinja2的html模板 s...

Flask成長筆記 Flask框架的目錄配置

flask框架的目錄配置是經常用到的,我會使用乙個config.py來作為所有目錄位址的配置檔案。1 呼叫os.path.dirname 函式獲取應用根目錄 encoding utf 8 import os dirname os.path abspath file 定義乙個應用的根目錄2 呼叫os....