Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问
文章目录
- Wagtail-基于Python Django的内容管理系统CMS实现公网访问
- 前言
- 1. 安装并运行Wagtail
- 1.1 创建并激活虚拟环境
- 2. 安装cpolar内网穿透工具
- 3. 实现Wagtail公网访问
- 4. 固定的Wagtail公网地址
前言
Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统,拥有强大的社区和商业支持。它专注于用户体验,并为设计人员和开发人员提供精确控制。
选择wagtail的原因:
- 它能快速实现页面的表达,对于我这种对新实现的功能想要找到地方进行展示,但前端能力又不太行的同学
- 基于django 一直会对django的稳定版本进行支持
Wagtail由开发人员为开发人员构建。那么结合cpolar内网穿透可以进行公网远程访问,实现花更少的时间进行配置,而将更多的时间用于完善您的网站。本篇文章介绍如何安装运行Wagtail,并实现公网访问网站界面。
1. 安装并运行Wagtail
Wagtail 支持 Python 3.8、3.9、3.10 和 3.11。
要检查您是否有合适的 Python 3 版本,请运行以下命令:
python --version
# Or:
python3 --version
# **On Windows** (cmd.exe, with the Python Launcher for Windows):
py --version
如果上述命令均未返回版本号,或返回低于 3.8 的版本,则安装 Python 3。
1.1 创建并激活虚拟环境
按照顺序进行安装
pip install wagtail
wagtail start mysite
cd mysite
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

安装完成服务器启动后,访问http://127.0.0.1:8000/即可看到Wagtail的欢迎页面

2. 安装cpolar内网穿透工具
上面在本地成功安装了Wagtail,并局域网访问成功,下面我们安装Cpolar内网穿透工具,通过cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可

3. 实现Wagtail公网访问
点击左侧仪表盘的隧道管理——创建隧道,创建一个Wagtail的cpolar公网地址隧道
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
- 协议:选择http
- 本地地址:8000 (局域网访问的端口)
- 域名类型:免费选择随机域名
- 地区:选择China top
点击创建

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

使用上面的cpolar https公网地址在任意设备的浏览器访问,即可成功看到Wagtail的欢迎界面,这样一个公网地址且可以远程访问就创建好了,无需自己购买云服务器,即可发布到公网访问。

4. 固定的Wagtail公网地址
由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。
我一般会使用固定二级子域名,原因是希望将网址发送公网,其他人可以长期访问这个固定网址,而不需要每次重新创建隧道,它是一个固定、易记的公网地址(例如:wagtail.cpolar.cn),这样更显正式,便于交流协作。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】
注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

保留成功后复制保留成功的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

修改隧道信息,将保留成功的二级子域名配置到隧道中
- 域名类型:选择二级子域名
- Sub Domain:填写保留成功的二级子域名
点击更新(注意,点击一次更新即可,不需要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

最后,我们使用固定的公网地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了

相关文章:
Wagtail-基于Python Django的内容管理系统CMS如何实现公网访问
Wagtail-基于Python Django的内容管理系统CMS实现公网访问 文章目录 Wagtail-基于Python Django的内容管理系统CMS实现公网访问前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个…...
什么是LASSO回归,怎么看懂LASSO回归的结果
随着机器学习的发展,越来越多SCI文章都使用了更多有趣、高效的统计方法来进行分析,LASSO回归就是其中之一。很多小伙伴听说过LASSO,但是对于LASSO是什么,有什么用,怎么才能实现,大家可能一头雾水。今天的文…...
python树长子兄弟链存储结构(孩子兄弟链存储结构)
长子兄弟链存储结构(孩子兄弟链存储结构)解释: 长子兄弟链存储结构是一种树的存储结构,它使用孩子兄弟表示法(也称作左孩子右兄弟表示法)来表示树的结构。这种表示方法主要用于存储一般的树,而不…...
开源和闭源软件对开发的影响
开源软件的优势: 开源性:开源软件允许任何人查看、修改和发布源代码,这促进了代码的共享和集体学习。透明性:开源软件提高了软件的透明度,使用户可以更好地理解软件的工作原理,增加对软件的信任。社区支持…...
centos无法进入系统之原因解决办法集合
前言 可爱的小伙伴们,由于精力有限,暂时整理了两类。如果没有你遇到的问题也没有关系,欢迎底下留言评论或私信,小编看到后第一时间帮助解决 一. Centos 7 LVM xfs文件系统修复 情况1: [sda] Assuming drive cache:…...
【Linux】系统初始化配置
CentOS 7 的虚拟机安装后必须要做的几个操作,记录以下,网络配置修改、yum源安装、基础工具安装: 1、先修改权限,新建普通用户,并授权普通用户apps 的sudo权限; useradd apps password apps visudo apps A…...
使用VC++设计程序对一幅256级灰度图像进行全局固定阈值分割、自适应阈值分割
图像分割–全局固定阈值分割、自适应阈值分割 获取源工程可访问gitee可在此工程的基础上进行学习。 该工程的其他文章: 01- 一元熵值、二维熵值 02- 图像平移变换,图像缩放、图像裁剪、图像对角线镜像以及图像的旋转 03-邻域平均平滑算法、中值滤波算法、…...
【ArcGIS Pro微课1000例】0035:栅格影像拼接(dem高程数据)
本实验讲解在ArcGIS Pro中,栅格数据的两种拼接(镶嵌)方法,适用于遥感影像、DOM、DEM、DSM等常见栅格数据。 文章目录 一、加载实验数据二、栅格拼接工具1. 镶嵌2. 镶嵌至新栅格三、注意事项四、拓展阅读一、加载实验数据 加载配套实验数据中的0035.rar中的两个dem数据,如…...
Zynq-7000系列FPGA使用 Video Processing Subsystem 实现图像缩放,提供工程源码和技术支持
目录 1、前言免责声明 2、相关方案推荐FPGA图像处理方案FPGA图像缩放方案自己写的HLS图像缩放方案 3、设计思路详解Video Processing Subsystem 介绍 4、工程代码详解PL 端 FPGA 逻辑设计PS 端 SDK 软件设计 5、工程移植说明vivado版本不一致处理FPGA型号不一致处理其他注意事项…...
【C】内存函数
目录 1. memcpy 使用和模拟实现 2. memmove 使⽤和模拟实现 3. memset 函数的使用 4. memcmp 函数的使用 1. memcpy 使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到d…...
windows系统玩游戏找不到d3dx9_35.dll缺失的解决方法
分享一个我们在打开游戏或许软件过程中遇到的问题——“由于找不到d3dx9_35.dll,无法继续执行代码”的五个修复方案。这个问题可能会影响到我们的工作和娱乐效率,甚至可能导致工作的延期。因此,我希望通过今天的文章,能够帮助大家更好地解决这…...
webshell之内置函数免杀
原始webshell 查杀的点在于Runtime.getRuntime().exec非常明显的特征 利用ProcessBuilder替换Runtime.getRuntime().exec(cmd) Runtime.getRuntime().exec(cmd)其实最终调用的是ProcessBuilder这个函数,因此我们可以直接利用ProcessBuilder来替换Runtime.getRunti…...
react高阶成分(HOC)
使用React函数式组件写了一个身份验证的一个功能,示例通过高阶组件实现的一个效果展示: import React, { useState, useEffect } from react;// 定义一个高阶组件,它接受一个组件作为输入,并返回一个新的包装组件 const withAuth…...
<JavaEE> Thread线程类 和 Thread的常用方法
目录 一、Thread概述 二、构造方法 三、常用方法 1.1 getId()、getName()、getState()、getPririty() 1.2 start() 1.3 isDaemon()、setDaemon() 1.4 isAlive() 1.5 currentThread() 1.6 Interrupt()、interrupted()、isInterrupted() 1.6.1 方法一:添加共…...
Linux加强篇004-Vim编辑器与Shell命令脚本
目录 前言 1. Vim文本编辑器 1.1 编写简单文档 1.2 配置主机名称 1.3 配置网卡信息 1.4 配置软件仓库 2. 编写Shell脚本 2.1 编写简单的脚本 2.2 接收用户的参数 2.3 判断用户的参数 3. 流程控制语句 3.1 if条件测试语句 3.2 for条件循环语句 3.3 while条件循环语…...
【shell脚本】常见的shell脚本面试题目
1、请用shell脚本for,while,until这三种方式写出输出1到100的所有偶数的方法。 sum=0;for((i=0;i<=100;i+=2));do let sum+=i;done;echo $sum sum=0;i=0;while [ $i -le 100 ];do let sum+=i;let i+=2;done;echo $sum sum=0;i=0;until [ $i -gt 100 ];do let sum+=i;let i+…...
Android设计模式--外观模式
弈之为术,在人自悟 一,定义 外观模式要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。提供一个高层次的接口,使得子系统更易于使用。 外观模式在开发中的使用频率是非常高的,尤其是在第三方的SDK里面࿰…...
03_MySQL基本SQL语句讲解
#课程目标 能够创建、删除数据表能够对表里的数据记录进行增加、删除、修改、查询操作能够创建、删除用户能够给用户授权并回收权限了解delete和truncate语句的区别 #一、数据库基本操作 ##1、查看数据库相关信息 mysql> show databases; 查看所有数据库 mysql>…...
【C语法学习】28 - 字符测试函数
文章目录 1 isalnum()函数2 isalpha()函数3 islower()函数4 isupper()函数5 isdigit()函数6 isxdigit()函数7 iscntrl()函数8 isgraph()函数9 isspace()函数10 isblank()函数11 isprint()函数12 ispunct()函数13 tolower()函数14 toupper()函数 1 isalnum()函数 isalnum()函数…...
极兔快递查询,极兔快递单号查询,对需要的单号记录进行备注
批量查询极兔快递单号的物流信息,对需要的快递单号记录进行备注。 所需工具: 一个【快递批量查询高手】软件 极兔快递单号若干 操作步骤: 步骤1:运行【快递批量查询高手】软件,并登录 步骤2:点击主界面左…...
零数据丢失!Rocket.Chat 平滑升级与消息迁移终极指南
零数据丢失!Rocket.Chat 平滑升级与消息迁移终极指南 【免费下载链接】Rocket.Chat The Secure CommsOS™ for mission-critical operations 项目地址: https://gitcode.com/GitHub_Trending/ro/Rocket.Chat 作为一款开源的团队协作通信平台,Rock…...
VS Code+Ubuntu环境下Chisel开发环境搭建全攻略(含WSL2配置)
VS CodeUbuntu环境下Chisel开发环境搭建全攻略(含WSL2配置) 最近几年,硬件描述语言领域出现了一股新潮流——用高级编程语言来设计硬件。Chisel(Constructing Hardware in a Scala Embedded Language)正是这一趋势下的…...
SiameseAOE模型在微信小程序评论分析中的应用实战
SiameseAOE模型在微信小程序评论分析中的应用实战 最近和几个做小程序的朋友聊天,他们都在头疼同一个问题:用户评论越来越多,根本看不过来。好评差评混在一起,想提炼点有价值的信息,比如用户到底喜欢商品的哪个点&…...
互联网大厂Java求职面试实战:从Spring Boot到Kafka的技术问答解析
互联网大厂Java求职面试实战:从Spring Boot到Kafka的技术问答解析 场景背景 本次面试发生在一家互联网大厂,谢飞机作为面试者,面试官以严肃的态度针对Java全栈技术栈进行提问,涵盖从核心语言到微服务、消息队列等多领域技术。面试…...
Redis 大 Key 和热 Key 怎么分别治理?一次讲清识别方式、风险差异与实战处理思路
Redis 大 Key 和热 Key 怎么分别治理?一次讲清识别方式、风险差异与实战处理思路 大家好,我是一名有 4 年工作经验的 Java 后端开发。 Redis 在线上问题里,有两个词经常被一起提到:大 Key 和热 Key。 但很多人其实会把它们混着理解…...
AudioSeal Pixel Studio快速上手:移动端Safari/Chrome对Streamlit音频组件兼容性
AudioSeal Pixel Studio快速上手:移动端Safari/Chrome对Streamlit音频组件兼容性 1. 工具简介与核心价值 AudioSeal Pixel Studio是一款基于Meta开源的AudioSeal算法构建的专业音频水印工具。它能够在保持原始音质几乎不变的情况下,为音频文件嵌入隐形…...
流匹配模型:从确定性ODE到高效生成建模的实践指南
1. 流匹配模型的核心机制 流匹配模型的核心在于利用确定性常微分方程(ODE)构建从噪声到数据的平滑转换路径。想象一下河流的流动:水流总是沿着最自然的路径从高处流向低处,而流匹配模型中的"流场"就像这条河流的河道&am…...
革命性智能交互助手:Live2D AI如何重塑用户体验边界
革命性智能交互助手:Live2D AI如何重塑用户体验边界 【免费下载链接】live2d_ai 基于live2d.js实现的动画小人ai,拥有聊天功能,还有图片识别功能,可以嵌入到网页里 项目地址: https://gitcode.com/gh_mirrors/li/live2d_ai …...
MCP 已死
MCP,可能并没有你想的那么香。所谓 Model Context Protocol,也就是 MCP,本质上是一套开源标准。它的目标很明确:让 AI 模型能够更顺滑地接入外部数据源、工具,以及各类软件系统。你也可以把它理解成一种“AI 时代的即插…...
[测试]-测试设计
等价类划分法 解决问题: 设计少量测试数据覆盖全量数据测试的场景问题。 适用场景: 针对表单类页面元素测试时使用。表单类页面元素: 输入框(典型代表)下拉列表单选复选框 方法介绍 核心步骤 明确需求 ->测试目的和测试条件划分等价类->有效和无效提取数据设计测试点 …...
