Python+Vuecil笔记

Nginx

进入目录: C:\nginx-1.20.2\nginx-1.20.2

start nginx    开始
nginx -s stop  停止
nginx -s quit  退出

CSS

在这里插入图片描述

通过标签去写css

在这里插入图片描述

循环展示数据

在这里插入图片描述

JS

点击时执行事件

在这里插入图片描述

Django

配置media

在seetings里面修改

STATIC_URL = '/static/'
MEDIA_URL = '/upload/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'upload').replace('\\', '/')

static 是app目录里面的,upload是外面的。

数据表在admin中注册

from myblog.models import SiteInfo # 引入
# Register your models here.admin.site.register(SiteInfo) # 注册

在这里插入图片描述

新建管理员

python manage.py createsuperuser

连接mysql

DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'myblog','USER': 'root','PASSWORD': '123456','HOST': 'localhost','PORT': '3306',}
}

获取数据库数据

siteinfo = SiteInfo.objects.all() # 获取全部,是一个列表
siteinfo = SiteInfo.objects.all()[0] # 用下标调用,获取第一个元素class SiteInfo(models.Model):title = models.CharField(null=True, blank=True, max_length=50)logo = models.ImageField(upload_to='logo/', null=True, blank=True)def __str__(self):  # 自定义返回内容return self.title

表关系

ForeignKey(关联哪张表, on_delete=models.SET_NULL, related_name="userinfo_classes", null=True, blank=True)

通过url传参

id = request.GET['id']

关于Httpresponse

实际上就是返回的html代码

return Httpresponse('<h1>Hello</h1>')

关于JsonResponse

返回的必须是一个对象,用字典来表示

try ……except

try:# 全部用户id = request.GET['id']choose = models.Classes.objects.filter(id = id)[0]
except:return redirect('/')

只要try里面有1步报错就执行except里面的

django rest_framework

安装

pip install djangorestframework
pip install markdown       # Markdown support for the browsable API.
pip install django-filter  # Filtering support

进行序列化

先写一个类似modelform的东西

from rest_framework import serializers
from myblog.models import Classesclass Classes_data(serializers.ModelSerializer):class Meta:depth = 1model = Classesfields = '__all__'

然后写个函数

from rest_framework.decorators import api_view
from rest_framework.response import Response
from myblog import models
from myblog.models import Classes
from myblog.toJson import Classes_data
@api_view(['GET', 'POST'])
def api_test(request):classes = models.Classes.objects.all()classes_data = Classes_data(classes, many=True) # 多条数据要加manyreturn Response({'data':classes_data.data})

但向上面写数据十分麻烦,还要用modelform

实际上用两个for循环即可

@api_view(['GET', 'POST'])
def api_test(request):classes = Classes.objects.all()data = {'classes': []}for c in classes:data_item = {'id': c.id,'text': c.text,'userlist': []}userlist = c.userinfo_classes.all()for user in userlist:user_data = {'id': user.id,'nickname':user.nickName,'headimg': str(user.headImg)}data_item['userlist'].append(user_data) # tian'jdata['classes'].append(data_item)# data = json.dumps(data)return Response(data)

Vue-cil

绑定事件

<button @click="onOffClick">开关</button> {# @就是v-on绑定事件,onOffClick应该就是事件名 #}

判断是否显示还可以用v-show

class前面用.,id前面用#

bool值取反

this.onOff = !this.onOff

控制台

vue ui

App.vue(组件)

每个文件中都是这个结构,文件中template是html,script是js脚本,style是css

<script>new Vue({el: '#app',data: {msg: '开发中ing',},template:"<h1>当前开发状态:{{ msg }}</h1>",//直接用这个可以在页面上显示,就像HttpResponsemethods:{},})</script>

对多个值进行渲染(自定义标签)

如:

<自定义>

haha

</自定义>

<script>Vue.component('dweb-msg',{ {# 这是自定义标签名 #}{# 内部结构和组件一样 #}data(){return {msg: '开发完毕 '}},            template:"<h1>当前开发状态:{{ msg }}</h1>",})new Vue({el: '.app',})
</script>

script部分

  • export default对象的属性:
  • name:组件的名称
  • components:存储中用到的所有组件
  • props:存储父组件传递给子组件的数据
  • watch():当某个数据发生变化时触发
  • computed:动态计算某个数据
  • setup(props, context):初始化变量、函数
  • ref定义变量,可以用.value属性重新赋值
  • reactive定义对象,不可重新赋值
  • props存储父组件传递过来的数据
  • context.emit():触发父组件绑定的函数

template部分

  • :存放父组件传过来的children。
  • v-on:click或@click属性:绑定事件
  • v-if、v-else、v-else-if属性:判断
  • v-for属性:循环,:key循环的每个元素需要有唯一的key
  • v-bind:或::绑定属性

style部分

  • style 标签添加scope属性后,不同组件间的css不会相互影响。

第三方组件

  • view-router包:实现路由功能。
  • vuex:存储全局状态,全局唯一。
  • state: 存储所有数据,可以用modules属性划分成若干模块
  • getters:根据state中的值计算新的值
  • mutations:所有对state的修改操作都需要定义在这里,不支持异步,可以通过$store.commit()触发
  • actions:定义对state的复杂修改操作,支持异步,可以通过$store.dispatch()触发。注意不能直接修改state,只能通过mutations修改state。
  • modules:定义state的子模块

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

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

相关文章

windows terminal美化教程

安装terminal 微软商店下载安装terminal 配置文件 进入terminal&#xff0c;打开设置。 {"$schema": "https://aka.ms/terminal-profiles-schema",// global settings"profiles": {// profile settings"defaults": {// default sett…

阿里云服务器租赁一年收费标准

阿里云服务器租用价格表2024年最新&#xff0c;云服务器ECS经济型e实例2核2G、3M固定带宽99元一年&#xff0c;轻量应用服务器2核2G3M带宽轻量服务器一年61元&#xff0c;ECS u1服务器2核4G5M固定带宽199元一年&#xff0c;2核4G4M带宽轻量服务器一年165元12个月&#xff0c;2核…

Docker设置时区

Dockerfile中设置时区的方法 # 设置环境变量TZ ENV TZAsia/Shanghai# 配置时区 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone创建容器时设置时区 将宿主机与容器的时间进行挂载&#xff0c;直接使用宿主机的时区 -v /etc/lo…

【亲测有效】微信公众号设置菜单栏显示,未开启自定义菜单,微信公众平台自定义菜单接口开发

微信公众平台自定义菜单接口开发 问题:运营人员在设置微信公众号设置菜单栏显示,未开启自定义菜单解决方案(微信公众平台自定义菜单接口开发):自定义菜单-创建接口请求链接完整代码第一步:在WeChat类里添加代码情况一:没有WeChat类情况,如果已有请看情况二情况二:已有…

【系统架构师】-软件架构设计

1、软件架构的概念 架构的本质 1、软件架构为软件系统提供了一个结构、行为和属性的高级抽象。 2、软件架构风格是特定应用领域的惯用模式&#xff0c;架构定义一个词汇表和一组约束。 架构的作用 1、软件架构是项目干系人进行交流的手段。 2、软件架构是可传递和可复用的模型…

day21java学习打卡:匿名对象的使用

/* * 一.理解“万事万物皆对象” * 1.在java语言范畴中&#xff0c;我们的都将功能&#xff0c;结构封装到类中&#xff0c;通过类的实例化, * 来调节具体的功能结构 * >Scanner&#xff0c;String * >文件&#xff1a;File * >网络资源&#xff1a…

番茄 短abogus补环境

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872 本文章…

简化开发与提升可维护性的编程范式-声明式 API

目录 什么是声明式 API 声明式 API 的优势 声明式 API 的应用 声明式 API 面临的挑战 小结 声明式 API 是一种现代编程范式&#xff0c;特别是在云计算和容器编排领域被广泛应用&#xff0c;其设计理念强调通过声明所需的目标状态来管理复杂系统&#xff0c;而非具体指定达…

端到端单倍型参考基因组揭示了三倍体香芽蕉型香蕉亚基因组的分歧和疾病抵抗力-文献精读-5

T2T基因组文献分享Telomere-to-telomere haplotype-resolved reference genome reveals subgenome divergence and disease resistance in triploid Cavendish banana 三倍体植物基因组的文献&#xff0c;各位同仁还有什么有特色的基因组评论区留言~ 摘要 香蕉是世界上最重要…

JavaEE——手把手教你实现简单的 servlet 项目

文章目录 一、什么是 Servlet二、创建一个简单的 Servlet 程序1. 创建项目2.引入依赖3. 创建目录4.编写代码5. 打包程序6. 部署7.验证整体过程总结 三、使用 Smart Tomcat 插件简化项目创建四、创建项目时可能遇到的几个问题。 一、什么是 Servlet Servlet 是一种实现 动态页面…

12、最小覆盖子串

如何想到这个解法 问题的特点&#xff1a; 首先&#xff0c;认识到这是一个关于子串的问题&#xff0c;而且需要考虑子串的最小长度。这提示我们可能需要使用一种方式来逐步探索不同的子串。滑动窗口的适用性&#xff1a;滑动窗口是处理子串问题的常用技巧&#xff0c;特别是当…

【图像分割】nnUnetV1与V2的Linux部署与应用命令

以前觉得麻烦&#xff0c;一直没用过nnunet&#xff0c;虽然知道它很火&#xff0c;最近一个契机&#xff0c;部署使用了一下nnunet&#xff0c;记录一下其部署和使用的方法与命令。 1、部署 首先&#xff0c;我有一个环境&#xff0c;这个环境可以是以前就有的&#xff0c;也可…

蓝桥杯算法题:九宫幻方

小明最近在教邻居家的小朋友小学奥数&#xff0c;而最近正好讲述到了三阶幻方这个部分&#xff0c;三阶幻方指的是将 1∼9 不重复的填入一个 33 的矩阵当中&#xff0c;使得每一行、每一列和每一条对角线的和都是相同的。 三阶幻方又被称作九宫格&#xff0c;在小学奥数里有一句…

1.c++入门(命名空间、缺省参数、函数重载、引用、内联函数、for循环、auto关键字、指针空值nullptr)

1.c的第一个程序 // 方法一 #include<iostream>// namespace为命名空间的关键字&#xff0c;std为空间名&#xff1b; C标准库的东西放进std命名空间 using namespace std; int main() {cout << "hello world" << endl;return 0; }// 方法二 #in…

YOLOv8的多分类模型如何计算准确率(Accuracy)、精确率(Precision)、召回率(recall)和F1-Score模型评估参数

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

Unity构建详解(6)——SBP的Bundle写操作生成

以下三个操作实际上是为了得到构建Bundle需要的其他参数&#xff0c;最关键的Bundle组装参数在上文已经说过了&#xff0c;至于这三个操作的具体细节不用过于追究&#xff0c;一般不怎么会取修改。 这些参数采用命令模式被封装起来&#xff0c;这是常见的参数非常多的时候的处…

轻量级容器运行时containerd安装

1、yum安装 1.1、获取阿里云YUM源 wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo1.2、查看YUM源中Containerd软件 yum list | grep containerd containerd.io.aarch64 …

train_reader 训练数据提供器。创建Executor执行器。数据读取器(DataFeeder)

目录 农作物病害智能识别 -AttributeError Traceback (most recent call last)/tmp train_reader 训练数据提供器 train_reader

【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.6p1(亲测无问题,建议收藏)

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;CSDN博客专家   &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01…

【leetCode】2810. 故障键盘

文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一&#xff1a;模拟代码&#xff1a;思路二&#xff1a;双端队列代码&#xff1a; 2810. 故障键盘 思路一&#xff1a;模拟 用StringBuilder来拼贴字符遍历字符串&#xff0c;如果遇到i,对拼贴好…