网站首页 > 技术教程 正文
简介
Pynecone 是一个基于纯 python 的用于开发 web app 的开源框架,它依赖于 nodejs,不过不需要另外编写前端代码,这对于没有接触过前端的朋友是非常友好的。
安装
第一步,安装 nodejs,来到官网 https://nodejs.org/en/,下载 LTS 版本,目前最新的是 18.12.1 LTS
文件下载后,双击进行傻瓜式安装即可
第二步,安装 pynecone,使用 pip 进行
pip install -U pynecone-io
测试
安装完成后,我们来到桌面,创建一个项目
cd ~/Desktop
mkdir pc_app
pc init
然后,以管理员权限打开 powershell,执行 pc run
接着,来到浏览器,输入地址 http://localhost:3000
可以看到,默认的页面是长这个样子的,页面中也提示,修改文件 pc_app/pc_app.py 即可改变页面,也就是说不需要去写 html、javascript 和 css 就可以更改页面了
如果碰到 pc run 中报错
Error: Multiple children were passed to <Link> with `href` of `one_value` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children
就需要升级下 pynecone-io,详情可以看看项目中的 issue,见文末的链接
样例解析
回到上面的例子,看看文件 pc_app/pc_app.py 文件中的代码
class State(pc.State):
"""The app state."""
pass
在 pynecone 中,state 定义了应用中的所有变量(这里叫 vars),这些变量都可以被 state 中的方法改变,这些方法叫做事件处理器(event handler),本例中并没有涉及,可以看下面这个示例,有2个事件处理器,increment 和 decrement
class State(pc.State):
count: int = 0
def increment(self):
self.count += 1
def decrement(self):
self.count -= 1
接下来的 index 方法负责前端页面的显示,也是需要重点关注的部分
def index():
return pc.center(
pc.vstack(
pc.heading("Welcome to Pynecone!", font_size="2em"),
pc.box("Get started by editing ", pc.code(filename, font_size="1em")),
pc.link(
"Check out our docs!",
href=docs_url,
border="0.1em solid",
padding="0.5em",
border_radius="0.5em",
_hover={
"color": "rgb(107,99,246)",
},
),
spacing="1.5em",
font_size="2em",
),
padding_top="10%",
)
在 pynecone 中,有50多个组件(component)可以使用,如常见的按钮 button、box、heading、slider 等等,具体可以参考这个链接 https://pynecone.io/docs/library。在本例中使用了标题 heading、box 和超链接 link,这3个组件被装在了 vstack 里,也就是垂直排列,而且是居中的(pc.center)。各组件的样式,都可以通过对应方法中的参数进行调整。
组件可以引用应用中的变量,这里看个 button 的例子
pc.button(
"Decrement",
color_scheme="red",
border_radius="1em",
on_click=State.decrement,
),
on_click 中跟上的是事件处理器 decrement,也就是当按钮被点击一次,count 的值就减1
当页面写好之后,就需要设置路由了(Routing)
# 初始化app
app = pc.App(state=State)
# 设置应用的根URl
app.add_page(index)
如果要添加多个页面,在 add_page 时,可以跟上参数 route,比如
app.add_page(second_page, route="/demo")
访问的 url 就变成了 http://localhost:3000/demo
最后一步就是启动服务了,在 pynecone 中叫 compile
app.compile()
就这样,一个简单的 web 项目就完成了,没有写一点前端相关的代码
项目中还有个重要的配置文件,就是 pcconfig.py,比如要更改下默认的端口,可以这样
继而访问的 url 就变成了 http://localhost:5000 了
另外官方提供了另一示例仓库,里面包含了很多类似的工程,非常值得学习借鉴,链接是 https://github.com/pynecone-io/pynecone-examples
参考资料
- https://pynecone.io/
- https://github.com/pynecone-io/pynecone
- https://github.com/pynecone-io/pynecone-examples
- https://github.com/pynecone-io/pynecone/issues/224
- https://github.com/pynecone-io/pynecone/issues/113
猜你喜欢
- 2024-10-17 Web开发程序应用 web应用开发用什么软件
- 2024-10-17 混合应用开发的又一个选择,支持三大主流Web框架——Onsen UI
- 2024-10-17 web端开发增强现实应用 web应用与开发 功能实现
- 2024-10-17 Java Web应用开发工程师——学习路线
- 2024-10-17 如何用Web前端技术就能开发出桌面应用程序?
- 2024-10-17 用 Angular 开发 Web 应用(Part 2)
- 2024-10-17 用WEB技术栈开发NATIVE应用:WEEX 前端SDK原理详解
- 2024-10-17 使用 Rust Actix 快速开发高性能的Web应用
- 2024-10-17 酷呆了!Python开发web应用的一些中级技巧
- 2024-10-17 手把手带你使用Flutter开发web应用程序
你 发表评论:
欢迎- 05-05从virsh当中学习QEMU/KVM启动命令
- 05-05Win10 BCD文件损坏怎么修复?(bcd文件损坏win7)
- 05-05亚马逊春节假期期间的店铺管理设置
- 05-051分钟总结常用k8s常用诊断教程(k8s常见故障)
- 05-05VisiPics重复图片查找软件中文汉化教程
- 05-05微服务的发布实现方式1灰度实现(微服务实现原理)
- 05-05轻松掌握Java多线程 - 第二章:线程的生命周期
- 05-05德拉诺之王邪DK报告:PVE向小测试及分析
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)