Flask ==> 目錄結構

Flask ==>   目錄結構

一:目標css

1.要求:html

  1. 熟悉Flask的目錄結構。python

  2. 瞭解應用,裝上新的組件往裏面放,改怎麼弄?mysql

 

2.做業: sql

  1.基於flask實現權限管理數據庫

  2.筆記:flask

    -  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

#建立項目對象
app = Flask(__name__)

 

  2. 在 runserver.py , 添加以下代碼

from blog2 import app

@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run(debug=True)

 

   3. 運行runserver.py 文件:

 

而後在瀏覽器中輸入:http://127.0.0.1:5000/,會顯示helloworld字樣

 

 到這裏爲止,項目的雛形就能夠正常運行了,下面的事情就簡單了,添加內容,讓項目有血有肉。

 

2.修改配置文件。

  1. 修改setting.py 文件,添加配置數據庫鏈接信息,以下:

 

  2.讓項目讀取配置文件

修改_init__,py : 添加以下內容(紅色部分):

# -*- coding: utf-8 -*-
from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
#import  os
#print os.environ.keys()
#print os.environ.get('FLASKR_SETTINGS')
#加載配置文件內容
app.config.from_object('blog2.setting')     #模塊下的setting文件名,不用加py後綴 
app.config.from_envvar('FLASKR_SETTINGS')   #環境變量,指向配置文件setting的路徑

#建立數據庫對象 
db = SQLAlchemy(app)

 

 

  3.設計數據庫

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

在model文件夾中添加User.py和Category.py文件,內容以下:

 1.user.py

from blog2 import db

class 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 '<User %r>' % self.username

 

2.category.py

from blog2 import db

class 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 '<Category %r>' % self.title
複製代碼

 

   3.建立數據庫和表

相關文章
相關標籤/搜索