美文网首页
2020-06-17--flask项目02---项目准备

2020-06-17--flask项目02---项目准备

作者: program_white | 来源:发表于2020-06-17 12:52 被阅读0次
    • 配置静态文件和模板文件
    • 显示index.html
    • 数据库(关联数据库,数据迁移,测试数据)
    • 标签栏logo--ico
    • flask项目架构

    配置静态文件和模板文件

    在newsInfo下新建目录--static,使用文件打开将admin和new复制进去。
    再新建templates目录,操作如下:


    选择模板语言jinja2:



    然后在template下新建news和admin文件夹,
    找到static/news/html/index.html,拖到templates/news下:



    在上边的选项上打勾,因为在该文件中会引用其他文件的内容,打勾会自动改变引用的路径。不需要手动改变。

    显示index.html

    在上一步中我们配置了静态资源,要想把他们显示到前台页面,那么就编写试图即可。
    那么就在之前的index_blue蓝图上进行编写:
    index/views.py:

    #为该蓝图编写视图函数
    @index_blue.route('/')
    def index():
        return render_template('news/index.html')
    

    运行:


    数据库

    关联数据库

    之前有一步SQLALchemy对象db没有关联到app,要在创建app的函数中关联数据库,所以首先在newsInfo/init.py下:

    1.获取SQLALchemy对象db,
    db = SQLAlchemy()
    
    2.在create_app函数中关联app对象
    db.init_app(app)  # 数据库对象关联app
    

    在关联app时,要写在获取app实例和关联配置对象之后,否则会警告;

        app = Flask(__name__)  # 获取app实例
    
        # 根据传进来的config_name以字典方式获取对应的类
        config = config_dict.get(config_name)
        # 关联config类中的配置
        app.config.from_object(config)
    
        db.init_app(app)  # 数据库对象关联app
    

    数据迁移

    首先将models.py和constants.py文件复制到项目newsInfo包下,类似于django中的models.py.也就是生成表的文件。

    在迁移之前将newsInfo下的models.py文件导入manage.py中
    接下来就是数据库的迁移了:
    分三步:

    python manage.py db init
    python manage.py db migtate -m"initial"
    python manage.py db upgrade
    

    terminal:
    第一步:



    生成文件夹migrations:



    第二步:

    生成迁移文件:

    第三步:



    数据库:

    添加测试数据

    在navicat中运行sql文件即可
    步骤:




    开始运行。
    刷新数据库中的表:



    标签栏logo--ico

    在一些大型网站中,当访问到该网站时,在其标签栏中都会显示该网站的logo。
    例如:



    就是在访问index页面的同时,访问的一个静态资源:



    在static/news下有一个ico文件

    显示步骤:

    因为实在index页面下的,所以要卸载index包下的views.py中:

    #网页标签logo
    @index_blue.route('/favicon.ico')
    def get_web_logo():
        return current_app.send_static_file('news/favicon.ico')
    

    在该视图函数中访问该ico文件。
    使用其他浏览器运行(谷歌浏览器有缓存功能):


    flask项目架构

    相关文章

      网友评论

          本文标题:2020-06-17--flask项目02---项目准备

          本文链接:https://www.haomeiwen.com/subject/oovjxktx.html