python学习系列

python+flask(二)bootstrap的接入和远程访问

2020-08-15  本文已影响0人  测试_机器猫

这一系列篇幅知识都是通过参考别人做的博客来一步一步学习的,当然大题思路都是一样的,目录结构和界面样式会有改动,后面有备注作者的博客来源

这里我先创建的大体目录结构,目前main的前端还是空的,我们先从后端开始

(1)这里我们就手动下载Bootstrap,下载地址: https://v3.bootcss.com/getting-started/#download直接下载生成环境的就行,下载解压后,把其中的css和js文件夹拷贝到我们项目的admin/static下面

(2)接下来制作基础模板,在 templates/common 文件夹下建立一个 base.html 文件内容如下:

```

<!DOCTYPE html>

<html lang="zh">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <meta name="description" content="人淡如菊">

<meta name="author" content="机器猫">

<link rel="icon" href="{{url_for('.static',filename='img/favicon.ico')}}">

        <title>{%block title %}博客系统{%endblock %}</title>

        {%block css %}

            <link href="{{url_for('.static',filename='css/bootstrap.min.css')}}" rel="stylesheet">

            <link href="{{url_for('.static',filename='css/font-awesome.min.css')}}"

                  rel="stylesheet">

<meta name="theme-color" content="#563d7c">

            <link href="{{url_for('admin.static',filename='css/admin.css')}}" rel="stylesheet">

<link href="{{url_for('admin.static',filename='css/toastr.min.css')}}" rel="stylesheet">

{%endblock %}

</head>

<body class="layout-boxed">

{%block body %}

<div class="wrapper">

{%include 'common/header.html' %}

            <div class="container-fluid">

<div class="row">

{%include 'common/sidebar.html' %}

                    <main role="main" class="col-lg-10 ml-sm-auto px-4 bg-light">

{%block content %}{%endblock %}

</main>

                </div>

            </div>

        </div>

{%endblock %}

        {%block js %}

            <script src="{{url_for('admin.static',filename='js/jquery.min.js') }}"></script>

<script src="{{url_for('admin.static',filename='js/popper.min.js') }}"></script>

<script src="{{url_for('admin.static',filename='js/bootstrap.min.js') }}"></script>

<script src="{{url_for('admin.static',filename='js/toastr.min.js')}}"></script>

<script src="{{url_for('admin.static',filename='layer/layer.js')}}"></script>

            <script src="{{url_for('admin.static',filename='js/admin.js')}}"></script>

{%include 'common/alert.html' %}

{%endblock %}

</body>

</html>

```

制作头部模板,头部模板被放置在templates/common 文件夹下,命名为 header.html

```

<nav class="navbar p-0 border-bottom">

<span class="navbar-brand col-sm-3 col-md-2 mr-0 text-center ">博客</span>

<a class="navbar-inline" href="{{url_for('admin.index')}}" target="_blank">首页</a>

<ul class="navbar-nav px-3 border-left">

<li class="nav-item text-nowrap">

<a class="nav-link " href="{{url_for('admin.logout')}}">退出</a>

</li>

</ul>

</nav>

```

制作侧边模板

```

<nav id="sidebar" class="col-lg-2 d-md-block sidebar">

<div class="sidebar-sticky">

<ul class="nav flex-column">

<li class="nav-item">

<a class="nav-link font-weight-bold active" href="{{url_for('admin.index')}}">

面板

</a>

</li>

</ul>

<h6 class="sidebar-heading d-flex px-3 pt-2  mt-1 mb-1 text-muted">

<span>文章管理</span>

</h6>

<ul class="nav flex-column ml-1">

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index') }}">

撰写文章

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

文章列表

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

分类列表

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

标签管理

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

文章推荐

</a>

</li>

</ul>

<h6 class="sidebar-heading d-flex px-3 pt-2  mt-1 mb-1 text-muted ">

<span>设置</span>

</h6>

<ul class="nav flex-column mb-2">

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

网站设置

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

用户管理

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

在线工具

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

邀请码

</a>

</li>

<li class="nav-item">

<a class="nav-link font-weight-bold" href="{{url_for('admin.index')}}">

抓取日志

</a>

</li>

</ul>

</div>

</nav>

```

然后我们新建一个index.html继承一下base.html,运行一下看下效果

其中:host='0.0.0.0'代表运行其它人的机器远程访问,访问具体格式:ip:5000/test,这里我用的是我本机的ip地址

其中你可能遇到的问题

问题解决:这是因为你直接在pycharm中运行的,改成cmd命令运行就ok

一些前端的知识

https://www.runoob.com/bootstrap/bootstrap-navigation-elements.html

https://www.runoob.com/bootstrap/bootstrap-typography.html

参考博客来源:https://gitee.com/pojoin/h3blog

上一篇下一篇

猜你喜欢

热点阅读