Gradio Auth登录页设置中文

2024-03-14 05:50
文章标签 设置 登录 中文 gradio auth

本文主要是介绍Gradio Auth登录页设置中文,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近入坑了gradio, 就是一款python框架,可以通过简单的几行代码,就能够帮我们构建一个简易的页面网站,并且可以在里面做相应的逻辑处理。目前该框架在AI领域相对比较火爆,用于给自己的大模型构建操作页面。

官网地址: Gradio

具体操作这里就暂不做介绍了,毕竟我也是新手。我也刚入坑两天。

今天主要介绍一下,昨晚搞到半夜一点遇到的一个问题。就是想做一个登录页面。

gradio 本身是提供了一个简单的登录页面的,我们只需要有一行代码配置就可以实现。

demo.queue(concurrency_count=3).launch(server_name='0.0.0.0',server_port=8082,show_api=False,share=False,inbrowser=False,auth=("zhangsan", '123456'),)

只需要在launch方法里加入auth=("zhangsan", '123456'), 即可,这样我们使用zhangsan/123456就可以登录了。 这里面也可以传入一个元组,配置多个。

登录页面长这样:

整体来说还不错,但是领导提出了新的要求,要把里面的英文都显示成中文。这可麻烦了,就开始大规模查找资料。

比如在github上有就有提出了,想要在登录页面加一个邮箱的需求:

https://github.com/gradio-app/gradio/issues/5073

得到的答案是这样的:

翻译过来:

就是可以通过FastAPI技术去实现,下面是demo

https://github.com/gradio-app/gradio/issues/2790

大概意思就是自己重新开发一套应用,然后和gradio的挂在到一起。看了一下,我觉得作为python新手的我,应该是搞不定的(毕竟连python语法都没搞明白)。

好了,铺垫的差不多了,我们接下来进入正题。我们修改的方法就是修改源码,重新编译。这里有一个非常重要的点,就是一定要编译和你当前版本一直的源码,否则会导致你的应用样式出现问题。尤其是有自定义css的,对于版本是十分敏感的,因为这个我踩了大坑,差点没出来。

先查下自己的gradio版本。

pip list

找到自己的gradio版本, 我的是3.37.0 。 之前由于没有注意观察这里,直接下载了main分支,导致登录页面是成功了,但是里面的样式全都乱了。最后才发现是版本不一致的问题。然后下载源码:

在tag中找到自己版本对应的代码; https://github.com/gradio-app/gradio/tags

然后下载,解压,使用vscode打开。 主要修改的文件为: js/app/src/Login.svelte

这里展示的修改后的效果,源码都是英文的。 这里其实就相当于是写死了。 其实也可以配置成变量。然后在同级目录的lang下面的i18n配置文件中给对应的变量赋值,这样就可以自动实现国际化了。

在新版本里,有几个值使用了变量的,比如提示语,但是像用户名密码都是写死的。

新版本中变量的写法,如果改成变量,一定记得在json中配置对应的值。其他语言也都加一下。

这样打开页面的时候gradio会根据浏览器当前的语言去解析对应的json文件,实现国际化。

好了,源码改好了,接下来就是重新编译了,这个步骤,就要参照CONTRIBUTING.md

在源码的根目录下有。编译之前要准备好相应环境。

然后按照上面的步骤,一个一个执行脚本。 后面有几个是测试的执行的时候可能会有报错,但完全不影响。执行完毕后,他不会生成对应的安装包,但是会把本地安装好的gradio做替换。我们重新打开我们的登录页面,就发现已经发生了变化。

搞定收工。

这种方式只不过也有一些缺陷,就是如果要在多台机器上进行部署,可能需要多次重复上述步骤。这个由于对python部署,不知道能不能把本地的以来打成一个包,直接拿到其他位置安装,有知道的也可以告知一下。

好了以上就是整个内容,整理不易,希望帮到有相同需求的人。一定要注意版本一定要保持一致哦!!

这篇关于Gradio Auth登录页设置中文的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/807396

相关文章

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置

在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)

《在DataGrip中操作MySQL完整流程步骤(从登录到数据查询)》DataGrip是JetBrains公司出品的一款现代化数据库管理工具,支持多种数据库系统,包括MySQL,:本文主要介绍在D... 目录前言一、登录 mysql 服务器1.1 打开 DataGrip 并添加数据源1.2 配置 MySQL

Springboot中JWT登录校验及其拦截器实现方法

《Springboot中JWT登录校验及其拦截器实现方法》:本文主要介绍Springboot中JWT登录校验及其拦截器实现方法的相关资料,包括引入Maven坐标、获取Token、JWT拦截器的实现... 目录前言一、JWT是什么?二、实现步骤1.引入Maven坐标2.获取Token3.JWT拦截器的实现4.

tomcat日志中文乱码问题及解决方案

《tomcat日志中文乱码问题及解决方案》文章主要介绍了在使用Tomcat时遇到的乱码问题及其解决方法,页面输出乱码可能由于server.xml配置、HTML标签、编程输出编码不一致引起,解决方法包括... 目录一、页面输出乱码1.server.XML配置未注明编码格式2.catalina.bawww.cp

Java实现为PDF设置背景色和背景图片

《Java实现为PDF设置背景色和背景图片》在日常的文档处理中,PDF格式因其稳定性和跨平台兼容性而广受欢迎,本文将深入探讨如何利用Spire.PDFforJava库,以简洁高效的方式为你的PDF文档... 目录库介绍与安装步骤Java 给 PDF 设置背景颜色Java 给 PDF 设置背景图片总结在日常的

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型