当前位置: 首页 > news >正文

个人网站对主机有什么要求大学生可以做的网站项目

个人网站对主机有什么要求,大学生可以做的网站项目,深圳建站公司服务,橙色企业网站源码一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样,所有的东西都在一个python文件内; 然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…

一、背景简介

Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样,所有的东西都在一个python文件内;

然而,当项目越来越大的时候,把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码,把代码分为不同的模块,然后在需要的地方导入模块。

二、项目目录

项目目录一般如下分配:
项目路径:D:\projects\zfx_py\flask24

  • project/ , 一个包含应用程序代码和文件的python包(还有静态文件和templates)。
  • tests/ ,包含测试模块的文件夹。
  • app.py(以下改名为main.py) ,项目入口
  • 告诉python如何安装项目的安装文件。
  • 版本控制配置,例如 git . 无论项目大小,应该习惯于对所有项目使用某种类型的版本控制。
  • 可能需要添加的任何其他项目文件。

最后,我的项目布局如下:
在这里插入图片描述

三、应用设置—>分析入口文件main.py

打开该文件,

from project import create_appapp = create_app()

里面只导入了project模块下的creat_app方法;分享一下我的这个分享

import os
# import logging
# from logging.handlers import TimedRotatingFileHandler
from flask import Flask
# from flask_cors import CORS
# from flask_caching import Cache
# from flask_migrate import Migrate
# from flask_sqlalchemy import SQLAlchemy
from project.config import config  # 导入存储配置的字典# cache = Cache()# 创建数据库连接
# db = SQLAlchemy()# migrate = Migrate()
# cors = CORS()
# time_handler = TimedRotatingFileHandler('storage/logs/project.log', when='midnight', backupCount=30, encoding='utf-8')
# time_handler.suffix = '%Y%m%d'
# time_handler.setFormatter(logging.Formatter('[%(asctime)s] %(levelname)s in %(module)s: %(message)s'))
# time_handler.setLevel(logging.INFO)def create_app(config_name=None):if config_name is None:config_name = os.getenv('FLASK_ENV', 'development')  # 从环境变量中获取FLASK_ENV,并设置默认值app = Flask('project')# setup config,导入配置,根据配置环境实例化对象# app.config.from_object(config[config_name])#  db.init_app(app)# migrate.init_app(app, db)# app.logger.addHandler(time_handler)# cache.init_app(app)# cors.init_app(app, origins="*")from project.auth import authfrom project.blog import blog_base_blueprintapp.register_blueprint(auth)app.register_blueprint(blog_base_blueprint)return app

根据代码可以看到,这个create_app 是一个应用工厂函数,里面创建Flask 实例并返回,所以这跟咱们再入口文件main.py内,直接写是一样。

调用的方法解释

1、Flask(name, instance_relative_config=True):创建flask实例,
  • name 是当前python模块的名称。应用程序需要知道它在哪里设置一些路径,使用 name 是一个方便的方法。我这里应用程序代码都在project里,所以我直接使用了app = Flask('project')的写法
  • instance_relative_config=True 告诉应用程序配置文件是相对于 instance folder 的相对路径.实例文件夹在 flaskr 包的外面,用于存放本地数据(例如配置密钥和数据库),不应当提交到版本控制系统。
2、os.getenv:获取系统环境变量的值

它可以获取指定环境变量的值,并以字符串形式返回。
对于不适合写在程序里的配置,比如密码等,需要把配置写入系统环境变量,然后使用os模块的getenv()方法获取,第二个参数作为默认值

3、app.config.from_object():导入配置文件

程序逐渐变大时,配置也逐渐增多,写在主脚本里太占地方,不够优雅。我们可以创建一个单独的配置文件。然后在主脚本里导入,就可以正常使用了
关于配置文件的介绍,具体请参考下一篇:Flask 配置文件使用相关介绍。

点击查看Flask官方文档介绍

4、app.register_blueprint():注册蓝图

Blueprint 是一种组织一组相关视图和其他代码的方法。它们不是直接在应用程序中注册视图和其他代码,而是在蓝图中注册。然后,当蓝图在工厂函数中可用时,将它注册到应用程序中。
每个蓝图的代码将进入一个单独的模块。我这里有两个蓝图,一个登录注册使用的auth,一个是对文章管理的blog蓝图(里面有获取列表,增删改查文章内容);我个人认为蓝图相对于php里的控制器+模型+服务,也就是跟这个模块相关的所有逻辑代码;里面也是使用return返回前端需要的接口内容;

http://www.yayakq.cn/news/764771/

相关文章:

  • 秦皇岛网站制作多少钱局网站建设情况汇报
  • 深圳网站建设公司大全iis 网站无法访问
  • 上海网站自然排名优化价格关于网页制作的网站
  • 南昌营销型网站建设深圳企业专业网站设计
  • 网上发布信息的网站怎么做清远医疗网站建设
  • 西安建设企业网站鲜花团购网站建设
  • 新手学做网站 电子书集团网站建设服务公司
  • 公司营销网站制作软件开发工具的基础
  • 企业网站管理系统多少钱一年河南郑州静默管理
  • asp服装商城网站源码wordpress文章下载
  • 自助业务网站系统在360网站上怎么做推广
  • 外贸网站广告宣传网站h5页面怎么制作报名页面
  • 建湖做网站哪家最好多语言网站(如何实现网站的多语言版本 )
  • 房产公司网站模板天猫商城售后服务
  • 深圳物流公司收费标准徐州新站百度快照优化
  • 学生诚信档案建设网站怎么给网站做404界面
  • 计算机网站开发职业定位网站建设的公司第七页
  • 泉州seo建站淘客助手 wordpress
  • 做网站和做软件哪个难页制作与网站建设技术大全
  • 网站开发招标技术要求天津做网站软件
  • 沧州英文模板建站天元建设集团有限公司是什么性质
  • 泰州网站建设 思创电子建设网站的目的
  • 导航网站的好处杭州网站建设及推广
  • 阿里云做视频网站犯法吗广州中企动力网站制作
  • 网站空间多久续一次费网站备案的幕布是什么意思
  • 网站ico图标一般网站设计多大宽度
  • 网站建设开发公司做外贸如何建立网站
  • 照片做视频的软件 模板下载网站好做海报好的psd网站
  • 上海网站注销吗外贸网站虚拟主机
  • 万脑网站建设建设网站群