brython | 初始化项目

简介: brython | 初始化项目

你可能很好奇,brython是什么? 有什么用? 如何快速初始化一个项目? 这篇文章可以告诉你哦。



brython是什么


brython是一个python 3项目,该项目的目的是让不熟悉javascript的小伙伴,也能够使用python来作为web浏览器的脚本语言。


该项目的github地址为: github.com/brython-dev…

作为当今的web,我们知晓,不仅会将服务器内容输出到页面,还会与用户进行交互,所以在使用python作为脚本语言的时候,会面临一个问题,我们如何获取页面对象的数据,换言之即如何操作DOM?



brython如何操作DOM


这里只是铺垫一下brython操作DOM的区别,无需实验,后续会做详细介绍。


在了解这个问题之前,我们不妨搜索一下javascript是如何操作DOM的呢?哦,原来在javascript中有一个对象叫做document


javascript中,我们获取id的元素,我们可以使用如下语句:

var userInfo = document.getElementById("userInput")


可惜python原生并没有给我们提供操作DOM的对象,但是brython给我们提供了browser包,即实现同样的功能,我们使用brython定义则如下:

import browser 
userInfo = browser.document["userInput"]


brython生态如何


不建议在生产环境中使用brython,容易蹚坑。遇到问题查询资料较少,需要自己查询源码或者做实验。 目前环境下,建议仅学习使用。哦,对了,如果你想写出不可维护的代码,那么恭喜你,这个非常适合你,届时如果上了生成环境,那么前端看不懂python代码,后端看不懂html/css代码,你就成为了公司的中流砥柱。



初始化项目


我们想编写brython,有如下途径:


  • 直接在html中引用brython.js
  • 使用【码上掘金】进行编写brython
  • 在本地安装brython

直接引用brython.js

我们直接新建一个demo.html键入如下代码即可


image.png


若要使用brython作为动态语言进行输出的话,我们需要在添加onload="brython()"

而python代码则应该用<script type="text/python"></script>标签包含。

具体python代码如下:

import browser
browser.document <= browser.html.H1("Hello Brython!")
browser.document <= browser.html.H3("by " + browser.html.A("juejin pdudo",href="https://juejin.cn/user/2981531267892856/posts"))


如上代码的意思是,向页面插入h1标签,内容为: "Hello Brython!" , 而后再插入h3标签,内容为:"by juejin pdudo",再次基础上"juejin pdudo",我们建立一个a标签,指向我的掘金地址。



使用【码上掘金】编写brython


这里要注意一下,所谓的使用【码上掘金】,严格来说是归纳于第一类,但是这里单独列出来。因为其可以快速的编写该项目。


如何在码上掘金引入brython,可以参考掘金发布的github地址: github.com/xitu/jcode-…

我们将上述代码在码上掘金编写,具体代码如下。


code.juejin.cn/pen/7153552…



在本地安装使用brython


在使用之前,请将python版本升级为3.10

使用pip install brython可以安装brython

使用brython-cli install可以初始化一个项目,产生的文件为:


image.png

直接引用本地的js就可以了,代码是一样的,这里暂不介绍了。



总结


brython也许对于前端大佬们来说是鸡肋,但是对于不熟悉javascript而又了解python的后端们来说,那就是香饽饽。 文章介绍了brython基本内容,以及和javascript的区别,最后讲述了如何初始化一个brython项目。


怎么样好玩么? 快动动你的小手指来试试吧。





相关文章
|
7月前
|
存储 JavaScript 中间件
Nuxt3 实战 (一):初始化项目
这篇文章介绍了Nuxt框架的基本信息,包括什么是Nuxt以及Nuxt3的优点。文章还介绍了Nuxt3的一些特点,如服务端渲染和静态站点生成、模块化、文件系统路由等。此外,文章还提供了项目安装的步骤和目录结构。最后,文章提到了下一步计划,即配置 Eslint、Prettier、Husky、lint-staged、commitlit项目提交规范的过程。
209 3
Nuxt3 实战 (一):初始化项目
|
7月前
|
开发框架 前端开发 JavaScript
next.js博客搭建_初始化next项目(第一步)
next.js博客搭建_初始化next项目(第一步)
104 1
|
7月前
|
JavaScript 前端开发
【源码共读】Vue2 中为什么可以使用 this 访问各种选项中的属性?
【源码共读】Vue2 中为什么可以使用 this 访问各种选项中的属性?
62 0
|
存储 前端开发 Java
二十三.SpringCloudConfig源码-初始化配置
今天这篇文章我们来分析一下Spring Cloud Config 配置中心的源码,这应该是Spring Cloud Netflix的源码分析的最后一篇。下一个系列我将会继续分析Spring Cloud Alibaba相关组件的源码。Spring Cloud Config 基础使用请移步 《[配置中心Spring Cloud Config](https://blog.csdn.net/u014494148/article/details/117253831)》
jira学习案例61-userState的懒初始化和保存函数状态1
jira学习案例61-userState的懒初始化和保存函数状态1
81 0
jira学习案例61-userState的懒初始化和保存函数状态1
jira学习案例63-userState的懒初始化和保存函数状态3
jira学习案例63-userState的懒初始化和保存函数状态3
202 0
jira学习案例63-userState的懒初始化和保存函数状态3
jira学习案例62-userState的懒初始化和保存函数状态2
jira学习案例62-userState的懒初始化和保存函数状态2
52 0
jira学习案例62-userState的懒初始化和保存函数状态2
|
JavaScript
js基础笔记学习76-函数得创建方式
js基础笔记学习76-函数得创建方式
59 0
js基础笔记学习76-函数得创建方式
|
JavaScript
js基础笔记学习72-变量和对象1
js基础笔记学习72-变量和对象1
71 0
js基础笔记学习72-变量和对象1
|
JavaScript
js基础笔记学习73-变量和对象2
js基础笔记学习73-变量和对象2
50 0
js基础笔记学习73-变量和对象2