学习react,复制了一个C站Civitai

news2024/11/18 16:22:20

苦肝两个多月,终于复制了一个C站,也就是现在最热门的AI绘画社区Civitai。
来看看效果图吧!
在这里插入图片描述
在这里插入图片描述

技术栈介绍

我还是一个菜鸡,所以不像c站那样用了各种技术。
目前只是为了展示数据,我的Civitai简单技术栈如下

前端:React
后端:Flask
数据库,emmm没有用数据库

react技术方面用的比较多的还是各种钩子,useEffect,useState,useContext等,由于基础不够扎实,学了就忘,经常写着写着就忘记钩子的用法,或者干脆钩子名都忘了。然后就是typescript的严格类型限制,类型不写,或者写的不合适就会有红色报错提示,好烦emmm。
未来准备学习next,跟c站一样,用next技术。

背景介绍

作为编程爱好者,没事就喜欢写代码,或者学习编程技术,正好处在学习react前端框架的时间点,我想找个项目练手巩固一下react知识点,同时玩过stable diffusion的AI绘画,知道Civitai这个网站,发现他正好是react的开源项目,最后就选c站作为学习目标,一边看人家的源码,一边巩固react,于是就苦肝了两个月,一边学习一边复制人家代码,进一步改造,让代码能够运行,由于是新手,人家的代码太过优秀与庞大,花了两个多月,我也就弄了两个残缺的界面出来。以后打算继续学习更新网站。

Civitai介绍

一般称之为C站,玩过AI绘画,或者Stable Diffusion的人对Civitai.com肯定不陌生,因为他是AI绘画者经常去的网站,不管是找prompts提示词、lora模型、checkpoint模型、各种灵感,Civitai网站都是最合适的去处。而且下载速度也很快,真不知道他是多少的带宽,才能支撑起全球AI绘画爱好者的庞大流量。由于上面模型图片各种各样,涉及各种13+,16+,18+的图片,以及明星肖像法律问题。emmm,现在国内已经不能访问了,当时我正好也在刚刚处于ai绘画狂热阶段,看到某个人上传了穿红色衣服的老大模型!!!可能这也就是Civitai被封禁的原因吧,然后没几天,国内就不能访问了。

我的Civitai介绍

没错,就是我的Civitai!

为什么这么说呢?因为我买了civitai.cn这个域名,而C站的域名是civitai.com。
com 与 cn的区别是,一个是全球的主流通用域名,而cn是中国特有的,emmm,相差两个字母。

所以首先,应该可以说 复制了C站的域名 也不为过吧!

由于c站对外公开了好几个数据api接口,大家都可以通过api获取模型,图片的数据(太佩服C站了,如此大气)

所以其次,调用一下c站提供的api接口,就可以保存数据到自己电脑上

最后呢,数据都有了,当然就可以把数据展示到网站上啦!

相关链接

  1. Civitai主站,需要科学上网 ----https://civitai.com
  2. 我的civitai ----https://civitai.cn
  3. civitai 开源仓库 ---- https://github.com/civitai/civitai
  4. civitai rest api ---- https://github.com/civitai/civitai/wiki/REST-API-Reference

最后

学习永无止境!
由于服务器性能较低,访问有点慢…,请见谅。

感谢您百忙之中,看我罗里吧嗦。

佛祖保佑您~ 事事顺心,永无bug。

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

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

相关文章

Java17:IO流

一:File类: 1.File类的理解: 1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) 2.File类声明在java.io包下 3.File类中涉及到关于文件或文件目录的创建,删除,重命名…

仙境传说RO:添加自定义道具

仙境传说RO:添加自定义道具 大家好,我是艾西今天和大家聊一下仙境传说RO怎么添加自定义道具。在我们开服时加入一些道具模组等往往会让我们的服务器更有特色以及消费点,那么让我们直接进入正题开始操作:(此处我们讲的…

k8s集群安装Istio过程记录及问题总结

目录 一、介绍二、部署Helm三、部署Istio部署官方示例 Bookinfo 四、部署KaliBug 记录部署Bookinfo demo失败 一、介绍 这篇文章记录一下k8s集群安装Helm、Istio 和 Kiali,方便学习相关概念。 前提需要k8s集群: 可参考:Arm64架构(MacBookPr…

cmake流程控制--循环

目录 for循环 普通方式 demo cmake3.17中添加了一种特殊的形式,可以在一次循环多个列表,其形式如下: demo 类似python语言的for循环 demo while循环 demo cmake跳出循环(break)和继续下次循环(continue) demo block()和endblock()命令定义的块内也是允许break()和c…

Windows下 Hexdump查看hex文件

链接 : https://www.di-mgt.com.au/hexdump-for-windows.html C:\hexdump-2.0.2 下载解压,以管理员权限拷贝至C:\Windows 便可使用查看命令

蓝牙定位系统|蓝牙网关定位和蓝牙Beacon定位的区别有哪些?

作为室外定位向室内环境的延伸,为了解决室外定位导航“最后一公里”的问题,室内定位领域的科技公司和研究机构也做出了很多的努力。目前市场主流的是基于蓝牙网关、蓝牙Beacon的室内定位方案,经常会有客户问到,这两种方案有什么区…

STL好难(7):优先级队列(priority_queue)与仿函数

目录 1.优先级队列的介绍: 2.priority_queue的函数接口 3.仿函数(函数对象)的简单理解 4.priority_queue的模拟实现: 1.优先级队列的介绍: 点击查看priority_queue的文档介绍 1. 优先队列是一种容器适配器&#x…

默认成员函数

前文提要 本文全文以日期类为例 先简单写一个日期类 class Data{ public:private:int _year;int _month;int _day; };且补充一个小知识 数据类型的划分 内置类型:是编程语言提供的基本数据类型,例如整数、浮点数、字符、布尔值 自定义类型&#xff1…

FreeRTOS实时操作系统(十二)事件标志组

系列文章目录 文章目录 系列文章目录事件标志组事件标志组API函数实验测试 事件标志组 事件标志位:用一个位来表示事件是否可以发生。 事件标志组是一组事件标志位的集合 特点: 1.每一个位表示一个事件(高8位不是) 2.每一位事件…

Java的异常Exception

异常 1、异常概述与异常体系结构 1.1、异常概述 异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”(开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: Erro…

装饰器模式:通过剖析Java IO类库源码学习装饰器模式

我们通过剖析Java IO类的设计思想,再学习一种新的结构型模式,装饰器模式。它的代码结构跟桥接模式非常相似,不过,要解决的问题却大不相同。 Java IO类库非常庞大和复杂,有几十个类,负责IO数据的读取…

Appium: Windows系统桌面应用自动化测试(三) 【脚本操作】

Appium: Windows系统桌面应用自动化测试 【脚本操作】 一、常用操作1、添加被测程序1.1示例一:通过程序路径指定应用程序,例如指定写字板程序路径。1.2示例二:通过程序ID指定应用程序,例如指定计算器ID。1.3 应用程序ID&#xff0…

芯片工程师求职题目之验证篇(2)

1. 事件驱动的仿真器和和基于周期的仿真器有什么区别? 事件驱动的仿真器顾名思义就是根据事件(event)触发仿真进行的,在进入一个周期中,它会获取每个事件并通过设计传播求值,直到达到稳定状态的条件,接着进入下一个周…

Android:安卓开发采用Volley网络框架+MySQL数据库,实现从服务器获取数据并展示完成记单词APP

一、功能与要求 实现功能:设计一个记单词APP。服务器采用Tomcat,数据库采用Mysql。实现用户的注册登录功能以及单词的增删改查。 指标要求:实现UI布局;将系统数据保存到Mysql数据库中,并采用Volley网络框架实现从服务…

【机器学习核心总结】什么是随机森林

什么是随机森林 森林里有很多树,随机森林里有很多决策树。 随机森林是决策树的升级版,随机指的是树的生长过程。世上没有两片相同的树叶,随机森林中的树也各不相同。在构建决策树时,我们会从训练数据中有放回的随机选取一部分样本…

Kubernetes service服务的发布 - kube-proxy(负载均衡器)-IPVS

目录 Service Service将内部的pod暴露到外面,让用户可以访问 负载均衡策略: Service 的类型: 案例:Service服务发布案例 扩展:我们在案例再加入一个探针的使用 更改后的my_nginx.yaml文件: 创建Pod&…

ChatGLM2-6B发布,C-Eval超GPT4,支持32k上下文!

自清华大学数据挖掘实验室(THUDM)3月开源ChatGLM-6B已经过去了3个多月,最近他们又带来了性能全面提升的“船新”版本-ChatGLM2-6B。别看名字变化小,其实更新的模型性能是又有量又实用。不了解ChatGLM的小伙伴可以看我这篇文章&…

Java基础之五 反射

通过Java反射机制,可以在程序中访问已经装载到JVM中的Java对象的描述,实现访问、检测和修改描述Java对象本身信息的功能。 通过反射可以访问的主要描述信息 访问成员变量 常用方法:getFields()、getField(String name)、getDeclaredFields()…

第 353 场LeetCode周赛

A 找出最大的可达成数字 签到题 class Solution { public:int theMaximumAchievableX(int num, int t) {return numt*2;} };B 达到末尾下标所需的最大跳跃次数 动态规划: 定义 p i p_i pi​为跳至 i i i处所需的最大跳跃次数, 有状态转移方程 p i m a x { p j 1 ∣ 0 ≤ j &…