Django理解

ESP32驱动Xbox Series X手柄的BLE协议实现 蓝牙低功耗(BLE)是嵌入式设备无线交互的核心技术,其GATT协议架构支持自定义服务与特征值通信,广泛应用于游戏外设、工业遥控等场景。Xbox Series X手柄采用非标准私有BLE协议,需深度解析输入报告(64字节)、输出控制(振动/LED)及固件兼容性约束。该方案依托ESP32平台与NimBLE 2.1.0+协议栈,解决MTU协商、PHY配置与HCI事件同步等关键问题,实现125Hz实时输入采集与毫秒级振动反馈。适用于机器人遥操作、ROS2终端、LVGL交互界面等工程实践,是私有BLE设备逆向集成的典 阅读详情


manager.py中


if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "cwBlog.settings")


    from django.core.management import execute_from_command_line


    execute_from_command_line(sys.argv)

加载settings配置文件

配置文件中初始化数据库,安装app匹配,模版路径。url根目录。中间件匹配。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'cwBlog',                      # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'root',
        'PASSWORD': '258841679',
        'HOST': '127.0.0.1',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}
TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.


    "cwBlog/html/template/"
)

ROOT_URLCONF = 'cwBlog.urls'

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',


    'cwBlog',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    # 'django.contrib.admindocs',
)

当1个http请求产生。

通过urls.py解析路径。并投递到对应的view视图函数中。


urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'cwBlog.views.home', name='home'),
    # url(r'^cwBlog/', include('cwBlog.foo.urls')),


    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),


    # Uncomment the next line to enable the admin:
    url(r'^admin/', include(admin.site.urls)),


    url(r'^$', blog),
    url(r'^blog/$', blog),
)


在视图函数中,加载数据模型,和模版。得到需要显示的数据以后,重绘模版。返回响应.

from django.template import loader, Context
from django.http import HttpResponse
from cwBlog.models import BlogPost


def blog(request):
    posts = BlogPost.objects.all()
    t = loader.get_template('blog.html')
    c = Context({'posts' : posts})


    return HttpResponse(t.render(c))

具体解析模版

其中post.timestamp | date:""

|表示后面接上过滤器

date格式化

{% extends "base.html" %}

{% block content %}

    {% for post in posts %}
        <h2>{{ post.title }}</h2>
        <p>{{ post.timestamp | date:"1, F jS" }}</p>
        <p>{{ post.body }}</p>
    {% endfor %}

{% endblock %}


二、TCP/IP协议之网络层(IP地址的格式、分类、报文格式) 数据报每经过一个路由器,路由器都要重新计算一下首部检验和,若首部未发生变化,则此结果必为 0,于是就保留这个数据报。对于网络号相的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。在首部的固定部分的后面是一些可选字段,其长度是可变的。IPv4 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。表示数据报在网络中的寿命,英文缩写是 TTL(Time To Live),功能是“跳数限制”。地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分。 阅读详情

相关推荐

【分布式系统学习】CAP原理详解

概述:互联网最重要任务莫过于海量数据处理,即大规模分布式系统,分布式是互联网的核心技术!!!如上所述,分布式系统是无法同时满足CAP三个特性的。1.Atomicity(原子性)一个事务中的所有操作,要么全部完成,要么全部不完成,不会在中间某个环节结束。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。2.Consistency(一致性)在事务开始之前和事务结束以后,数据库的完整性没有被破坏。3.Isolation(隔离性)

大龄烤红薯的博客 5022

Django源码阅读(1)浅谈runserver的执行过程

入口manage.py 文件 if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') try: from django.core.management import execute_from_command_line excep...

weixin_43829633的博客 1551

Enterprise Architect 中文经典教程

本文使用到的EA工程文件下载 一、Enterprise Architect简介 Enterprise Architect是一个对于软件系统开发有着极好支持的CASE软件(Computer Aided Software Engineering)。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发及部署等方面有着强大的支持,...

2万+

os.environ -- DJANGO_SETTINGS_MODULE 如何设置

os.environ 首先,可以在终端中写入以下的代码: import os for i, v in enumerate(os.environ.items(), 1): print(i, v) 获得的结果如下图所示: os.environ中存放了所有的环境变量。 Django manage.py if __name__ == "__main__": --&gt; ...

gymaisyl的博客 6123

Materials - UE5中的PivotPainter

可以使用3DS Max Script中的脚本(Pivot Painter)对模型进行处理,让每个Element都有自己的Pivot Point,来方便控制和制作一些特殊的顶点动画效果;

GT的虚幻引擎文档 1287

力扣(Leetcode)第1题:两数之和(C语言版本)

题目: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值 target 的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], target = 6

qq_39855356的博客 3295

python os.environ.setdefault,OS.ENVIRON()详解

我们想要用python获得一些有关系统的各种信息的时候就不得不想到os的environ,那这里面都具体包含了那些内容呢?一、简介对于官方的解释,environ是一个字符串所对应环境的映像对象。这是什么意思呢?举个例子来说,environ['HOME']就代表了当前这个用户的主目录。下图是windows和ubuntu下的environ的key列表:windows:linux:虽然基本的字段对差不多,...

weixin_33296185的博客 4798

从课堂笔记到动手实践:用Multisim仿真高频谐振功放(丙类)的完整流程

本文详细介绍了使用Multisim仿真高频谐振功放(丙类)的完整流程,从仿真环境准备到电路搭建、偏置网络设计、信号注入与波形观测,再到效率优化与性能验证。通过14个关键操作步骤,帮助读者将高频电子线路的理论知识转化为动手实践,深入理解丙类功放的非线性工作状态和效率优化技巧。

weixin_30701575的博客 519

execute_from_command_line(sys.argv)

execute_from_command_line(sys.argv) 这个命令,来自: from django.core.management import execute_from_command_line sys.argv实际上是: [‘manage.py’, ‘runserver’, ‘0.0.0.0:8000’] 在pycharm中如何直接添加参数呢?如下图, 在红框处添加参数,参数间用“空格”分开! pycharm中命令行模式设置位置如下: ...

静谧、淡雅 5288

使用MATLAB和Simulink来设计并仿真一个智能家居火灾报警系统

智能家居火灾报警系统旨在通过烟雾传感器、温度传感器等设备监测家庭环境,一旦检测到异常情况(如烟雾或温度骤升),立即触发警报并采取相应措施。在这个教程中,我们将使用MATLAB和Simulink来设计并仿真一个智能家居火灾报警系统,包括数据采集、处理以及响应机制。

amy_mhd的博客 162

从 SAP ABAP 到 S/4HANA,SAML 2.0 单点登录到底是怎么跑起来的

在很多 SAP 项目里,SSO 不是一个锦上添花的功能,而是系统能不能顺利上线的基本门槛。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1049

Python环境变量设置详解及使用示例

Python环境变量设置详解及使用示例

Leon_Jinhai_Sun的博客 893

备战数学建模38-粒子群算法pso番外篇1(攻坚战2)

粒子群算法最初是根据鸟类群体行为得到的启发,对鸟群行为进行仿真的算法,是一种启发式算法,也就是智能优化算法,利用信息共享,通过中间信息进行改进搜索,从而获得问题的可行解。我们简单从下图去体会一下粒子群算法,就是有多个鸟,每个鸟相当于一个粒子,每只鸟的位置受自己认知的历史最佳位置和当前距离食物最近的鸟的位置的影响。我们进一步分析这个图,可以得到两个公式,第一个是速度公式,即每只鸟的当前速度受上一步的速度惯性,自我认知和社会认知三部分影响,第二个是位置公式,即每只鸟的位置受上一位置和上一位置的速度的影响。

nuist_NJUPT的博客 1664

django模型_如何简单理解Django模型

django模型by Tim 提姆(Tim) 如何简单理解Django模型 (How to understand Django models the simple way) Have you ever tried to learn models by going through Django Docs? Did you leave with answers, or with even more...

cumian8165的博客 204

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

django web app_从webpy入手理解Django

写在前面的话:对于初次接触web框架的程序员来说,理解Django可能是一个挑战。虽然Django真的已经做的非常好,文档结构清晰,教程一步步由浅入深,不过对于http协议,请求&响应,web服务器运行机制不太清楚,甚至没有接触过任何web框架的程序员来说,在入门Django的时候会不知道为啥我要这样写?希望这篇文章能帮助你。一:什么是Django?官方的定义:Django是一个高级Pyt...

weixin_39863918的博客 163

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Django框架理解

初学Django,理解一下它的内部结构,可能不太准确,作为一个前期的指导吧

weixin_43655830的博客 258

Django的路由理解

最近在写Django的项目,URL路由这边分发能够理解,但是稍微复杂的正则表达式一直有很大的问题,总结一下。 一、Django的请求处理 (1)首先,最开始的URL是在项目的主目录下面,通常,这是ROOT_URLCONF设置的值,但是如果传入的HttpRequest对象具有urlconf属性(由中间件设置),则其值将被用于代替ROOT_URLCONF设置。通俗的讲,就是你可以自定义项目入口ur...

森的博客 326

django学习——理解django目录结构

mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。 mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Pyt...

al_kk的博客 179

Django框架理解--V

这次我讲一下我Django中V的理解,欢迎大家斧正 不知道大家知道MVC框架不,其实MTV和MVC是同源的框架,层次划分都很类似,只是说法不同。 Django中:M--model(与数据库相关的),T--template(模板,与页面有关),V--view(与后台程序有关,相当于从控制器) .NET中:M--model(同上),V--view(视图,与页面有关),C--Controller(...

HWQlet的博客 377

Django中模型层中字段的理解

一、概要 模型是你的数据的唯一的信息源。它包含你所储存数据的必要字段和行为。通常,每个模型对应数据库中唯一的一张表。 每个模型都是django.db.models.Model的一个Python 子类。 模型的每个属性都表示为数据库中的一个字段。 通过所有这一切,Django为你提供一个自动生成的数据库访问API 模型包括 字段、 字段类型、 字段选项、 元信息等组成 二、字段 1、说...

爬山的小明 442

Django TemplateView理解

PART 1: Starting with Version 1.3, Django ships with a very powerful class based view system. Django’s (generic) class based views provide a lot of functionality (e.g. List views and Detail views

lianliange85的专栏 2132

对Django的理解整理

首先创建一个Djange项目后,大体可分为三部分(两个package,一个dictionary) 1.自己的app 2.整个项目的控制器部分(和项目名称重名),作用在所有的app上 3.templates 先看第一部分app: 在其下面的views.py存放处理函数 可以自己创建static文件夹存放静态文件 第二部分: 主要的要两个: 一个是setting文件,在项目启动后会首先执行这个文件,要...

月守护的博客 564

django中app_name以及namespace理解

在写django的时候,html中反向解析经常会用到app_name 但有时候又是namespace,具体的区别如下:   大部分情况 这两者有其一就可以了。 并且两者(可以简化理解)无区别   只要一种情况 比如 访问 path('book1/', include('book.urls')), path('book2/', include('bo...

weixin_30751947的博客 1542

Django基本理解

新手第一次发博客,大佬轻喷~ HTTP 常见请求的方法 GET:像客户端请求数据 POST:向服务端请求发送数据 中间件的五大方法: process_request(self,request) process_view(self, request, view_func, view_args, view_kwargs) process_exception(self, request, exception) process_response(self, request, response) process_te

weixin_50926346的博客 266

Django框架理解及应用

Django是一个开放源代码的Web应用框架,由Python写成。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。 Django想要理解,首先要明白的就是Django的大致组成,它大致由四部分组成,也就是提到的MTV模型: M...

weixin_43127295的博客 930

深入理解Django中内置的用户认证

深入理解Django中内置的用户认证  更新时间:2017年10月06日 10:41:17   作者:renpingsheng    我要评论   Django自带一个用户认证系统,这个系统处理用户帐户、组、权限和基于cookie的会话,下面这篇文章就来给大家介绍了关于Django中内置的用户认证的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。   前言 本文主要给大...

Thoms_的博客 1120

Django中Template理解

Template不同于普通的HTML文本 Template与普通HTML本质上都是普通的文本,不同的是Template由HTML代码与逻辑控制代码(包括后台传来的参数)组成 html可以通过浏览器直接打开,Template则需要通过django后台渲染后才是完整的HTML代码,再由浏览器渲染。 Demo: <!DOCTYPE html> <html lang="en"> &...

qq_28837549的博客 1837
上一篇: 同时支持ARC和非ARC代码
下一篇: PIL image 提示 decoder jpeg not available
watsy
博客等级 码龄19年 133粉丝 104原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值