可以使用代碼實現藍圖對項目進行模塊化數據庫
admin=Blueprint('admin',__name__) # 建立一個藍圖對象 @admin.route('/') def admin_home(): return 'admin_home' # app內部註冊 app.register_blueprint(admin,url_prefix='/admin') # 註冊靜態目錄的路由 # static_admin目錄設置爲靜態目錄 admin = Blueprint("admin",__name__,static_folder='static_admin') app.register_blueprint(admin,url_prefix='/admin') # static_admin 文件夾的路由設置爲 /lib admin = Blueprint("admin",__name__,static_folder='static_admin',static_url_path='/lib') app.register_blueprint(admin,url_prefix='/admin')
數據庫分塊json
# 註冊db的函數 def register_db(app): db.init_app(app) # 建立全部和db相關聯的表 with app.app_context(): db.create_all() return db
urls:flask
# 註冊數據庫
DB = register_db(app)app
遷移分塊模塊化
from flask_migrate import Migrate,MigrateCommand from flask_script import Manager from urls import app from urls import DB as db # 命令操做 manager = Manager(app) # 遷移 migrate = Migrate(app,db) manager.add_command('db',MigrateCommand) if __name__ == '__main__': manager.run()
設置模板目錄函數
admin = Blueprint('admin',__name__,template_folder='my_templates')post
可以說出斷言的做用單元測試
斷言就是判斷一個函數或對象的一個方法所產生的結果是否符合你指望的那個結果測試
可以說出實現單元測試步驟url
1定義一個類,繼承自unittest.TestCase
2 在測試類中,定義兩個測試方法
3 在測試類中,編寫測試代碼
import json import unittest from demo1_login import app class LoginTest(unittest.TestCase): """爲登陸邏輯編寫測試案例""" def setUp(self): app.testing = True self.client = app.test_client() def test_empty_username_password(self): """測試用戶名與密碼爲空的狀況[當參數不全的話,返回errcode=-2]""" response = app.test_client().post('/login', data={}) json_data = response.data json_dict = json.loads(json_data) self.assertIn('errcode', json_dict, '數據格式返回錯誤') self.assertEqual(json_dict['errcode'], -2, '狀態碼返回錯誤') # TODO 測試用戶名爲空的狀況 # TODO 測試密碼爲空的狀況 def test_error_username_password(self): """測試用戶名和密碼錯誤的狀況[當登陸名和密碼錯誤的時候,返回 errcode = -1]""" response = app.test_client().post('/login', data={"username": "aaaaa", "password": "12343"}) json_data = response.data json_dict = json.loads(json_data) self.assertIn('errcode', json_dict, '數據格式返回錯誤') self.assertEqual(json_dict['errcode'], -1, '狀態碼返回錯誤') # TODO 測試用戶名錯誤的狀況 # TODO 測試密碼錯誤的狀況 if __name__ == '__main__': unittest.main()
可以說出單元測試所執行方法的定義規則
#該方法會首先執行,至關於作測試前的準備工做 def setUp(self): pass #該方法會在測試代碼執行完後執行,至關於作測試後的掃尾工做 def tearDown(self): pass #測試代碼 def test_app_exists(self): pass