uniapp DIY可视化工具 控件拖拽工具怎么开发/拖拽库/模板引擎

news2024/11/18 7:49:01

uniapp DIY可视化工具 控件拖拽工具怎么开发

答:需要 (**拖拽库**) (**模板引擎**)代码自动生成

python有哪些模板引擎

  • Jinja2是一个小型但快速且易于使用的以纯python编写的独立模板引擎(最主要的模板)
  • Chameleon是TAL和Genshi语法的快速实现,可在首次使用时将模板编译为python字节码。
  • ClearSilver是适用于Python / C / Perl的模板框架,该模板系统用于Google网上论坛和...
  • Mako是全新的模板引擎,代表Myghty的最佳创意,这些创意被提炼为完全重写和更新的API和语法。
  • Ophelia(0.3发布于2007-07-06)从TAL模板生成XHTML页面。这样可以避免重复的代码,允许站点内容驻留在文件系统中而不是数据库中,并允许Python脚本使内容动态化。
  • JonsPythonModules(1.06,2004-04-11发布),一组简单但功能强大的多线程面向对象的CGI / FastCGI / mod_python / html-tempulation用于Python的模块
  • Cheetah -Cheetah是Python驱动的模板引擎和代码生成器。它可以用作独立实用程序,也可以与其他工具组合使用。
  • Genshi是一个Python库,它提供了一组集成的组件,用于解析,生成和处理HTML,XML或其他文本内容,以在Web上生成输出。


前端有哪些模板引擎

  1. Mustache: 一种简单的语言,用于在前端和后端之间共享模板。
  2. Handlebars: 基于 Mustache 的语言,提供了更多的控制结构和功能。
  3. EJS: 一种简单的模板语言,支持 JavaScript 语法。
  4. Jade: 一种基于 Node.js 的模板语言,用于生成 HTML 代码。
  5. Underscore: 是一个 JavaScript 库,提供了丰富的模板引擎功能。
  6. React JSX: JSX 是一种 JavaScript 语言的扩展,可以在 React 应用中直接使用 HTML 标签来描述组件。
  7. Vue.js: Vue.js是一个渐进式的JavaScript框架,提供了自己的模板语法。

这些只是前端模板引擎中的一些常见类型,还有许多其他的模板引擎,如 AngularJS, Ember.js, Backbone.js, 选择使用哪种模板引擎取决于项目的需求和个人偏好。

vue有哪些拖拽库

  • Vue Draggable - Vue 拖拽组件王者
  • Vue drag resize - 轻量级,无依赖,可缩放
  • Vue smooth dnd - 简单动效,上下拖拽排序,涵盖多场景
  • V-drag - 最简单的可拖拽执行方案
  • Vue Easy DnD - 简洁快捷,上下拖拽场景适用
  • Awe dnd - 基于 vue 2.x 拖放排序组件,元素和图片拖拽通用

python 使用 jinja2 

Jinja2是一个现代的,设计者友好的,是python流行的模板引擎

仿照Django模板的语言

1如何安装?

python -m  install   Jinja2==2.11.2

2查看是否安装?

python -m pip freeze | grep Jinja2

Jinja2==2.11.2

注意这里笔者使用的是Jinja2==2.11.2版本,如果最新版本报错 请切换到这个版本下就不报错了

 测试1.py

from jinja2 import Template

template=Template("T am a {{ name }} ")

result=template.render(name="wenlong")

print(type(result),result)

# 当前jinja2版本 2.11.2

 测试2.py 

from jinja2 import FileSystemLoader,Environment

# 从文件系统加载模板文件路径
loader=FileSystemLoader(['templates'],encoding="utf-8")
# 核心组件 配合FileSystemLoader 一起使用
enviroment=Environment(loader=loader)
# 传入模板文件名称
tpl=enviroment.get_template('one.tpl')
# 可将参数传到前端模板进行渲染
data={'ip':'1.1.1.1'}

output=tpl.render(data=data)
print(output)
# 写入文件方法1
# with open("测试.vue",'w') as f:
#     f.write(tpl.render(data=data))

# 写入文件方法2
tpl.stream(data=data).dump("1.vue")

# 当前jinja2版本 2.11.2

 测试3.py 

one.tpl文件

<template>
	{{data.name}}
</template>

<script>
	export default {
		data() {
			return {

			};
		},
		onShow() {

		},
		onLoad(option) {

		},
		methods: {
            {{data.method}}
		}
	};
</script>

<style lang="scss" scoped>

</style>

 

 

from jinja2 import FileSystemLoader, Environment

# 从文件系统加载模板文件路径
loader = FileSystemLoader(['templates'], encoding="utf-8")
# 核心组件 配合FileSystemLoader 一起使用
enviroment = Environment(loader=loader)
# 传入模板文件名称
tpl = enviroment.get_template('one.tpl')
# 可将参数传到前端模板进行渲染
name = "文龙"
data = {
    'name': '<view>' + name + '</view>',
    'method': """
    async init() {},
			chooseWxavatar(e) {
				const { avatarUrl } = e.detail;
				let baseavatarUrl = 'data:image/png;base64,' + wx.getFileSystemManager().readFileSync(avatarUrl, 'base64');
				this.wxavatar = baseavatarUrl;
			},
    """,
}

output = tpl.render(data=data)
print(output)
# 写入文件方法1
# with open("测试.vue",'w') as f:
#     f.write(tpl.render(data=data))

# 写入文件方法2
tpl.stream(data=data).dump("1.vue")

# 当前jinja2版本 2.11.2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/546232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习之卷积神经网络(CNN)

大家好&#xff0c;我是带我去滑雪&#xff01; 卷积神经网络&#xff08;Convolutional Neural Network&#xff0c;CNN&#xff09;是一种基于深度学习的前馈神经网络&#xff0c;主要用于图像和视频识别、分类、分割和标注等计算机视觉任务。它主要由卷积层、池化层、全连接…

【开源、应用】QT—TCP网络上位机的设计

本文设计一个终端控制的上位机软件&#xff08;如“设计目标”下图所示&#xff09;&#xff0c;可以和STM32、Adruino等通信实现无线局域网控制系统。 本文的通信内容和图表内容可以参考作者之前的文章 STM32ESP8266连接电脑Qt网络上位机——QT篇https://blog.csdn.net/qq_53…

【STM32G431RBTx】备战蓝桥杯嵌入式→决赛试题→第六届

文章目录 前言一、题目二、模块初始化三、代码实现interrupt.h:interrupt.c:main.h:main.c: 四、完成效果五、总结 前言 无 一、题目 二、模块初始化 1.LCD这里不用配置&#xff0c;直接使用提供的资源包就行 2.ADC:开启ADCsingle-ended 3.LED:开启PC8-15,PD2输出模式就行了…

【JVM001】宋红康JVM字节码举例

宋红康JVM字节码举例 1 Integer package jvmT; public class IntegerTest {public static void main(String[] args) {Integer i 5;int y 5;System.out.println(iy); //trueInteger i6 5;Integer y6 5;System.out.println(i6y6);//trueInteger i5 128;Integer y5 128;System.…

SpringBoot中使用lombok

1.添加依赖 在项目的根目录中找到pom.xml&#xff0c;在dependencies下复制这段代码 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifac…

解决Python爬虫中selenium模块中的find_element_by_id方法无法使用

如有错误&#xff0c;敬请谅解&#xff01; 此文章仅为本人学习笔记&#xff0c;仅供参考&#xff0c;如有冒犯&#xff0c;请联系作者删除&#xff01;&#xff01; 我们在学习selenium模块的时候&#xff0c;经常会用到 browser.find_element_by_id命令&#xff0c;但随着se…

代码随想录算法训练营第四十六天 | bool的背包题,细节多

139.单词拆分 文档讲解&#xff1a;代码随想录 (programmercarl.com) 视频讲解&#xff1a;动态规划之完全背包&#xff0c;你的背包如何装满&#xff1f;| LeetCode&#xff1a;139.单词拆分_哔哩哔哩_bilibili 状态&#xff1a;不会做&#xff0c;不知道怎么把bool类型与背包…

推荐系统系列之推荐系统概览(下)

在推荐系统概览的第一讲中&#xff0c;我们介绍了推荐系统的常见概念&#xff0c;常用的评价指标以及首页推荐场景的通用召回策略。本文我们将继续介绍推荐系统概览的其余内容&#xff0c;包括详情页推荐场景中的通用召回策略&#xff0c;排序阶段常用的排序模型&#xff0c;推…

软件测试实验:loadrunner的高级使用

目录 前言实验目的实验内容实验要求实验过程loadrunner中插入事务与集合点loadrunner中插入检查点loadrunner中参数化-table分析报告功能loadrunner手动设置场景loadrunner监视图标 总结 前言 本实验主要介绍了loadrunner这一强大的性能测试工具的高级使用方法&#xff0c;包括…

python实现九宫格的车辆路径轨迹上位机界面

实验环境&#xff1a;wxFormBuilder v3.5 python3.7.5 MC9S12G128开发板 基本功能&#xff1a;控制开发板上的按键&#xff0c;模拟车辆移动的上下左右四个方位&#xff0c;通过can通信告诉上位机界面&#xff0c;车辆轨迹的移动方位&#xff1b; 1. python重新封装control…

技巧:jetbrain全家桶系列如何撤销已经提交本地仓库但还没push的commit

目录 1. 哎呀&#xff0c;不小心把不能提交的“机密”加入commit了2. 使用reset来修复的话要注意有坑&#xff0c;选Soft和Mixed&#xff0c;千万别选Hard和Keep3. 使用revert&#xff0c;只能修修补补&#xff0c;但commit还在&#xff0c;当然有好处是会留下使用痕迹&#xf…

异常处理机制

编程错误 编写程序时遇到的错误可大致分为 2 类&#xff0c;分别为语法错误和运行时错误。 语法错误 语法错误&#xff0c;也就是解析代码时出现的错误。当代码不符合Python语法规则时&#xff0c;Python解释器在解析时就会报出SyntaxError语法错误&#xff0c;与此同时还会…

服务(第二十六篇)redis的主从复制、哨兵、集群

主从复制&#xff1a; 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(Master)&#xff0c;后者称为从节点(Slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 原理&#xff1a; 主从关系确定…

[算法前沿]--009-HuggingFace介绍(大语言模型底座)

基础介绍 HuggingFace 是一家专注于自然语言处理(NLP)、人工智能和分布式系统的创业公司,创立于2016年。最早是主营业务是做闲聊机器人,2018年 Bert 发布之后,他们贡献了一个基于 Pytorch 的 Bert 预训练模型,即 pytorch-pretrained-bert,大受欢迎,进而将重心转向维护…

PoseiSwap以2500万美元估值,再获新一轮融资

近日&#xff0c;Nautilus Chain 上的首个 DEX PoseiSwap 宣布&#xff0c;其目前已经以 2500 万美元的估值&#xff0c;从 Gate Labs、Emurgo Ventures、Republic以及Cipholio Ventures 等行业顶级投资机构中&#xff0c;获得了新一轮的融资&#xff0c;不过目前该融资的具体数…

asp.net网上捐赠系统

一该源码功能十分的全面&#xff0c;具体介绍如下&#xff1a; 本版本软件主要完成三个功能&#xff1a; 1、建立网上捐赠功能 实现网上捐赠程序自动化&#xff0c;智能化&#xff0c;在捐赠者与受捐者填写各种资料后&#xff0c;自动保存方便以后调阅查询&#xff0c…

Java【网络编程1】详解DatagramSocket和DatagramPacket类, 逐行代码解析如何服务器客户端通信(附代码)

文章目录 前言一、认识 Socket(套接字), TCP 协议和 UDP 协议1, 什么是 Socket(套接字)2, 浅谈 TCP 协议和 UDP 协议的区别和特点 二、基于 UDP 协议的 Socket API1, DatagramSocket 类2, DatagramPacket 类 三、逐行代码解析网络编程1, 逐行解析客户端1.1, 核心成员方法 start…

【C++】-类和对象完结(内部类、匿名对象以及编译器的优化的讲解)(下)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 ❤️‍&#x1fa79;作者宣言&#xff1a;认真写好每一篇博客 &#x1f4a8;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 …

m1安装svn

背景&#xff1a;电脑是mac m2&#xff0c;好多软件都不太兼容&#xff0c;安装软件成了一个问题&#xff0c;想着装一个SVN&#xff0c;跟大家一起协同开发&#xff0c;这下可麻烦死了&#xff0c;&#x1f604;&#xff0c;终于弄明白用brew命令了&#xff0c;然后就用brew命…

Metasploitable2靶机渗透学习

目录 一、介绍 二、环境 三、渗透攻击 1.前期渗透 1.1主机发现 1.2.端口扫描 1.3.测试漏洞 2.弱密码漏洞 2.1系统弱密码登录&#xff08;telnet &#xff1a;23端口&#xff09; 2.2 MySQL弱密码登录&#xff08;端口&#xff1a;3306&#xff09; 2.3 PostgreSQL弱…