Django - 内置admin

Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有:

Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有:复制代码依赖APP:django.contrib.authdjango.contrib.contenttypesdjango.contrib.messagesdjango.contrib.sessions模板的context_processors:django.contrib.auth.context_processors.authdjango.contrib.messages.context_processors.messages中间件:django.contrib.auth.middleware.AuthenticationMiddleware django.contrib.messages.middleware.MessageMiddleware
复制代码
一. 配置路由urlpatterns = [url(r'^admin/', admin.site.urls),]
当前配置的路由可以创建一些路由映射关系:/admin/
/admin/login/
/admin/logout/
/admin/password_change/
/admin/password_change/done//admin/app名称/model名称/
/admin/app名称/model名称/add/
/admin/app名称/model名称/ID值/history/
/admin/app名称/model名称/ID值/change/
/admin/app名称/model名称/ID值/delete/二. 定制Admin
在admin.py中只需要讲Mode中的某个类注册,即可在Admin中实现增删改查的功能,如:admin.site.register(models.UserInfo)
但是,这种方式比较简单,如果想要进行更多的定制操作,需要利用ModelAdmin进行操作,如:方式一:class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd',)admin.site.register(models.UserInfo, UserAdmin) # 第一个参数可以是列表
     方式二:@admin.register(models.UserInfo)                # 第一个参数可以是列表class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd',)
ModelAdmin中提供了大量的可定制功能,如1. list_display,列表时,定制显示的列。@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd', 'xxxxx')def xxxxx(self, obj):return "xxxxx"
2. list_display_links,列表时,定制列可以点击跳转。@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd', 'xxxxx')list_display_links = ('pwd',)
3. list_filter,列表时,定制右侧快速筛选。from django.utils.translation import ugettext_lazy as _@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd')class Ugg(admin.SimpleListFilter):title = _('decade born')parameter_name = 'xxxxxx'def lookups(self, request, model_admin):"""显示筛选选项:param request::param model_admin::return:"""return models.UserGroup.objects.values_list('id', 'title')def queryset(self, request, queryset):"""点击查询时,进行筛选:param request::param queryset::return:"""v = self.value()return queryset.filter(ug=v)list_filter = ('user',Ugg,)
4. list_select_related,列表时,连表查询是否自动select_related5. 分页相关# 分页,每页显示条数list_per_page = 100# 分页,显示全部(真实数据<该值时,才会有显示全部)list_max_show_all = 200# 分页插件paginator = Paginator
6. list_editable,列表时,可以编辑的列@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd','ug',)list_editable = ('ug',)
7. search_fields,列表时,模糊搜索的功能@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):search_fields = ('user', 'pwd')
8. date_hierarchy,列表时,对Date和DateTime类型进行搜索@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):date_hierarchy = 'ctime'
9. preserve_filters,详细页面,删除、修改,更新后跳转回列表后,是否保留原搜索条件10. save_as = False,详细页面,按钮为“Sava as new” 或 “Sava and add another”11. save_as_continue = True,点击保存并继续编辑save_as_continue = True# 如果 save_as=True,save_as_continue = True, 点击Sava as new 按钮后继续编辑。
# 如果 save_as=True,save_as_continue = False,点击Sava as new 按钮后返回列表。
 
New in Django 1.10.
12. save_on_top = False,详细页面,在页面上方是否也显示保存删除等按钮13. inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除class UserInfoInline(admin.StackedInline): # TabularInlineextra = 0model = models.UserInfoclass GroupAdminMode(admin.ModelAdmin):list_display = ('id', 'title',)inlines = [UserInfoInline, ]
14. action,列表时,定制action中的操作@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):# 定制Action行为具体方法def func(self, request, queryset):print(self, request, queryset)print(request.POST.getlist('_selected_action'))func.short_description = "中文显示自定义Actions"actions = [func, ]# Action选项都是在页面上方显示actions_on_top = True# Action选项都是在页面下方显示actions_on_bottom = False# 是否显示选择个数actions_selection_counter = True
15. 定制HTML模板add_form_template = None
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None
16. raw_id_fields,详细页面,针对FK和M2M字段变成以Input框形式@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):raw_id_fields = ('FK字段', 'M2M字段',)
17. fields,详细页面时,显示字段的字段@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):fields = ('user',)
18. exclude,详细页面时,排除的字段@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):exclude = ('user',)
19. readonly_fields,详细页面时,只读字段@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):readonly_fields = ('user',)
20. fieldsets,详细页面时,使用fieldsets标签对数据进行分割显示@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):fieldsets = (('基本数据', {'fields': ('user', 'pwd', 'ctime',)}),('其他', {'classes': ('collapse', 'wide', 'extrapretty'),  # 'collapse','wide', 'extrapretty''fields': ('user', 'pwd'),}),)
21. 详细页面时,M2M显示时,数据移动选择(方向:上下和左右)@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):filter_vertical = ("m2m字段",) # 或filter_horizontal = ("m2m字段",)
22. ordering,列表时,数据排序规则@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):ordering = ('-id',)或def get_ordering(self, request):return ['-id', ]
23. view_on_site,编辑时,是否在页面上显示view on setview_on_site = False
或
def view_on_site(self, obj):return 'https://www.baidu.com'
24. radio_fields,详细页面时,使用radio显示选项(FK默认使用select)radio_fields = {"ug": admin.VERTICAL} # 或admin.HORIZONTAL
25. show_full_result_count = True,列表时,模糊搜索后面显示的数据个数样式@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):# show_full_result_count = True # 1 result (12 total)# show_full_result_count = False  # 1 result (Show all)search_fields = ('user',)
26. formfield_overrides = {},详细页面时,指定现实插件from django.forms import widgets
from django.utils.html import format_htmlclass MyTextarea(widgets.Widget):def __init__(self, attrs=None):# Use slightly better defaults than HTML's 20x2 boxdefault_attrs = {'cols': '40', 'rows': '10'}if attrs:default_attrs.update(attrs)super(MyTextarea, self).__init__(default_attrs)def render(self, name, value, attrs=None):if value is None:value = ''final_attrs = self.build_attrs(attrs, name=name)return format_html('<textarea {}>\r\n{}</textarea>',final_attrs, value)@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):formfield_overrides = {models.models.CharField: {'widget': MyTextarea},}
27. prepopulated_fields = {},添加页面,当在某字段填入值后,自动会将值填充到指定字段。@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):prepopulated_fields = {"email": ("user","pwd",)}
PS: DjangoAdmin中使用js实现功能,页面email字段的值会在输入:user、pwd时自动填充28. form = ModelForm,用于定制用户请求时候表单验证from app01 import models
from django.forms import ModelForm
from django.forms import fieldsclass MyForm(ModelForm):others = fields.CharField()class Meta:model = models = models.UserInfofields = "__all__"@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):form = MyForm
29. empty_value_display = "列数据为空时,显示默认值"@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):empty_value_display = "列数据为空时,默认显示"list_display = ('user','pwd','up')def up(self,obj):return obj.userup.empty_value_display = "指定列数据为空时,默认显示"
Admin 内部依赖

 

一. 配置路由

urlpatterns = [url(r'^admin/', admin.site.urls),]

 

当前配置的路由可以创建一些路由映射关系:

/admin/
/admin/login/
/admin/logout/
/admin/password_change/
/admin/password_change/done/

/admin/app名称/model名称/
/admin/app名称/model名称/add/
/admin/app名称/model名称/ID值/history/
/admin/app名称/model名称/ID值/change/
/admin/app名称/model名称/ID值/delete/

二. 定制Admin

在admin.py中只需要讲Mode中的某个类注册,即可在Admin中实现增删改查的功能,如:

admin.site.register(models.UserInfo)

 

但是,这种方式比较简单,如果想要进行更多的定制操作,需要利用ModelAdmin进行操作,如:

方式一:class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd',)admin.site.register(models.UserInfo, UserAdmin) # 第一个参数可以是列表
     方式二:@admin.register(models.UserInfo)                # 第一个参数可以是列表class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd',)

 

ModelAdmin中提供了大量的可定制功能,如

1. list_display,列表时,定制显示的列。

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd', 'xxxxx')def xxxxx(self, obj):return "xxxxx"

 

2. list_display_links,列表时,定制列可以点击跳转。

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd', 'xxxxx')list_display_links = ('pwd',)

 

3. list_filter,列表时,定制右侧快速筛选。

from django.utils.translation import ugettext_lazy as _@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd')class Ugg(admin.SimpleListFilter):title = _('decade born')parameter_name = 'xxxxxx'def lookups(self, request, model_admin):"""显示筛选选项:param request::param model_admin::return:"""return models.UserGroup.objects.values_list('id', 'title')def queryset(self, request, queryset):"""点击查询时,进行筛选:param request::param queryset::return:"""v = self.value()return queryset.filter(ug=v)list_filter = ('user',Ugg,)

 

4. list_select_related,列表时,连表查询是否自动select_related

5. 分页相关

# 分页,每页显示条数list_per_page = 100# 分页,显示全部(真实数据<该值时,才会有显示全部)list_max_show_all = 200# 分页插件paginator = Paginator

 

6. list_editable,列表时,可以编辑的列

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):list_display = ('user', 'pwd','ug',)list_editable = ('ug',)

 

7. search_fields,列表时,模糊搜索的功能

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):search_fields = ('user', 'pwd')

 

8. date_hierarchy,列表时,对Date和DateTime类型进行搜索

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):date_hierarchy = 'ctime'

 

9. preserve_filters,详细页面,删除、修改,更新后跳转回列表后,是否保留原搜索条件

10. save_as = False,详细页面,按钮为“Sava as new” 或 “Sava and add another”

11. save_as_continue = True,点击保存并继续编辑

save_as_continue = True# 如果 save_as=True,save_as_continue = True, 点击Sava as new 按钮后继续编辑。
# 如果 save_as=True,save_as_continue = False,点击Sava as new 按钮后返回列表。
 
New in Django 1.10.

 

12. save_on_top = False,详细页面,在页面上方是否也显示保存删除等按钮

13. inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除

class UserInfoInline(admin.StackedInline): # TabularInlineextra = 0model = models.UserInfoclass GroupAdminMode(admin.ModelAdmin):list_display = ('id', 'title',)inlines = [UserInfoInline, ]

 

14. action,列表时,定制action中的操作

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):# 定制Action行为具体方法def func(self, request, queryset):print(self, request, queryset)print(request.POST.getlist('_selected_action'))func.short_description = "中文显示自定义Actions"actions = [func, ]# Action选项都是在页面上方显示actions_on_top = True# Action选项都是在页面下方显示actions_on_bottom = False# 是否显示选择个数actions_selection_counter = True

 

15. 定制HTML模板

add_form_template = None
change_form_template = None
change_list_template = None
delete_confirmation_template = None
delete_selected_confirmation_template = None
object_history_template = None

 

16. raw_id_fields,详细页面,针对FK和M2M字段变成以Input框形式

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):raw_id_fields = ('FK字段', 'M2M字段',)

 

17. fields,详细页面时,显示字段的字段

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):fields = ('user',)

 

18. exclude,详细页面时,排除的字段

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):exclude = ('user',)

 

19. readonly_fields,详细页面时,只读字段

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):readonly_fields = ('user',)

 

20. fieldsets,详细页面时,使用fieldsets标签对数据进行分割显示

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):fieldsets = (('基本数据', {'fields': ('user', 'pwd', 'ctime',)}),('其他', {'classes': ('collapse', 'wide', 'extrapretty'),  # 'collapse','wide', 'extrapretty''fields': ('user', 'pwd'),}),)

 

21. 详细页面时,M2M显示时,数据移动选择(方向:上下和左右)

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):filter_vertical = ("m2m字段",) # 或filter_horizontal = ("m2m字段",)

 

22. ordering,列表时,数据排序规则

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):ordering = ('-id',)或def get_ordering(self, request):return ['-id', ]

 

23. view_on_site,编辑时,是否在页面上显示view on set

view_on_site = False
或
def view_on_site(self, obj):return 'https://www.baidu.com'

 

24. radio_fields,详细页面时,使用radio显示选项(FK默认使用select)

radio_fields = {"ug": admin.VERTICAL} # 或admin.HORIZONTAL

 

25. show_full_result_count = True,列表时,模糊搜索后面显示的数据个数样式

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):# show_full_result_count = True # 1 result (12 total)# show_full_result_count = False  # 1 result (Show all)search_fields = ('user',)

 

26. formfield_overrides = {},详细页面时,指定现实插件

from django.forms import widgets
from django.utils.html import format_htmlclass MyTextarea(widgets.Widget):def __init__(self, attrs=None):# Use slightly better defaults than HTML's 20x2 boxdefault_attrs = {'cols': '40', 'rows': '10'}if attrs:default_attrs.update(attrs)super(MyTextarea, self).__init__(default_attrs)def render(self, name, value, attrs=None):if value is None:value = ''final_attrs = self.build_attrs(attrs, name=name)return format_html('<textarea {}>\r\n{}</textarea>',final_attrs, value)@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):formfield_overrides = {models.models.CharField: {'widget': MyTextarea},}

 

27. prepopulated_fields = {},添加页面,当在某字段填入值后,自动会将值填充到指定字段。

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):prepopulated_fields = {"email": ("user","pwd",)}

 

PS: DjangoAdmin中使用js实现功能,页面email字段的值会在输入:user、pwd时自动填充

28. form = ModelForm,用于定制用户请求时候表单验证

from app01 import models
from django.forms import ModelForm
from django.forms import fieldsclass MyForm(ModelForm):others = fields.CharField()class Meta:model = models = models.UserInfofields = "__all__"@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):form = MyForm

 

29. empty_value_display = "列数据为空时,显示默认值"

@admin.register(models.UserInfo)
class UserAdmin(admin.ModelAdmin):empty_value_display = "列数据为空时,默认显示"list_display = ('user','pwd','up')def up(self,obj):return obj.userup.empty_value_display = "指定列数据为空时,默认显示"

 

转载于:https://www.cnblogs.com/Ryan-Yuan/p/11587333.html

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

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

相关文章

Auth认证模块

Auth认证模块 本文目录 1 Auth模块是什么2 auth模块常用方法3 扩展默认的auth_user表回到目录1 Auth模块是什么 Auth模块是Django自带的用户认证模块&#xff1a; 我们在开发一个网站的时候&#xff0c;无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用…

2021年图灵奖,花落高性能计算先驱、田纳西大学教授Jack Dongarra

来源&#xff1a;智源社区“我是一个数学家&#xff0c;对我来说&#xff0c;一切都是线性代数&#xff0c;但世界也正在看到这一点,”Jack Dongarra在采访中表示。“这是我们用来建造其它东西的材料。”他说&#xff0c;机器学习和人工智能中的大多数问题都可以追溯到线性代数…

万字深度好文!视觉-语言(VL)智能:任务、表征学习和大型模型

来源&#xff1a;AI科技评论编译&#xff1a;Jocelyn编辑&#xff1a;陈彩娴本文对视觉-语言&#xff08;VL&#xff09;智能按时间顺序进行了全面调研&#xff0c;并将这一领域的发展总结为三个阶段&#xff1a;第一个阶段是2014-2018年&#xff0c;其间&#xff0c;专门的模型…

day60 BBS

BBS项目目的: 带你从头到尾把django再复习一遍 公司开发项目的流程 # 1.需求分析 客户提需求但是并不是完全按照客户需求来 产品经理和架构师开发组组长 去之前架构师和开发组组长 会提前先预想一套方案 有意识的引导客户朝着自己已经想好的解决方案上去提需求 # 2.项目设计 框…

redis笔记_源码_内存分配

文件&#xff1a;zmoalloc.h zmoalloc.c 1.求两个整数的余数 eg: 求_n对sizeof(long)的余数(_n&(sizeof(long)-1)), 性能提升为50%&#xff5e;100% 左右。 转载于:https://www.cnblogs.com/water-bear/p/11598618.html

转发,脑机接口领域又一重要成果!

来源&#xff1a;传感器技术作者&#xff1a;余淼硕士学历&#xff0c;长期从事智能传感控制、信息通信领域研究工作。“ 以脑-机交互&#xff08;BCI&#xff09;为核心的神经工程技术&#xff0c;让人类真正可以做到“心想事成”。据首都医科大学官网报道&#xff0c;首都医科…

《2022城市大脑建设标准研究报告》在京正式发布

2022年3月31号&#xff0c;《2022城市大脑建设标准研究报告》在北京正式发布&#xff0c;该报告由中国指挥与控制学会&#xff0c;中国科学院虚拟经济与数据科学研究中心&#xff0c;国家创新与发展战略研究会数字治理研究中心&#xff0c;天府大数据研究院&#xff0c;远望智库…

PHP7 ini 配置大全

来自书本<<PHP7底层源码设计与实现>> 多图警告⚠️ 转载于:https://www.cnblogs.com/wlphp/p/11600566.html

涌现:21世纪科学的统一主题

来源&#xff1a;medium.com作者&#xff1a;David Pines译者&#xff1a;郭瑞东审校&#xff1a;刘志航、梁金编辑&#xff1a;邓一雪原文题目&#xff1a;Emergence: A unifying theme for 21st century science原文链接&#xff1a;https://medium.com/sfi-30-foundations-f…

福布斯:2022年计算机视觉领域五大发展趋势

来源&#xff1a;科技日报记者&#xff1a;刘霞计算机视觉&#xff08;也被称为机器视觉&#xff09;是人工智能技术最令人兴奋的应用之一。该技术旨在“教”会计算机如何“看”世界&#xff0c;它与自然语言处理及语音识别并列为机器学习领域的三大热点方向。计算机视觉技术囊…

“走近”量子模拟

来源&#xff1a;中国军网作者&#xff1a;张媛、张远、达平当下&#xff0c;量子计算在先进材料以及生物化学模拟方面正崭露头角。因为量子力学解释了这些材料的基本物理特性&#xff0c;量子计算非常适合进行模拟。那么&#xff0c;什么是量子模拟&#xff1f;量子模拟有什么…

redis笔记_源码_简单动态字符串SDS

参照:https://zcheng.ren/sourcecodeanalysis/theannotatedredissourcesds/#sds%E5%B0%8F%E7%BB%93 这里用char buf[] 而不用char* buf 的原因是方便内存释放 转载于:https://www.cnblogs.com/water-bear/p/11611804.html

redis笔记_源码_双端链表list

参考:https://redissrc.readthedocs.io/en/latest/datastruct/adlist.html 转载于:https://www.cnblogs.com/water-bear/p/11613515.html

《Science》重磅:终于完成了!迄今为止最完整的人类基因组

来源&#xff1a;生物通一个研究小组终于完成了人类基因组的序列&#xff0c;填满了基因组30亿个核苷酸的最后8%。这些区域很难放在染色体上&#xff0c;因为它们的重复性很强。在着丝粒周围&#xff0c;新增加的序列揭示了随着时间推移而增加的重复DNA层&#xff0c;这可能有助…

Meta开发了一个AI模型,尝试解决维基百科的「性别偏见」问题

来源&#xff1a;SiliconANGLE出品&#xff1a;科技行者撰文&#xff1a;海外来电图片&#xff1a;海外来电为了解决两性人物传记比例失衡的情况&#xff0c;Meta操碎了心。维基百科一直是全球访问量Top 10的网站&#xff0c;是许多人搜索历史人物与领创者资讯的第一站&#xf…

RISC-V正在采取行动,避免MIPS类的碎片化

来源&#xff1a;半导体行业观察在技术重量级人物的支持下&#xff0c;RISC-V 不断增长&#xff0c;但也带来了挑战&#xff1a;鼓励 CPU 设计人员保持一致&#xff0c;并避免MIPS和Android中发生的那种碎片化。考虑到这一点&#xff0c;协调开源指令集架构 (ISA) 开发的 RISC-…

复旦副教授魏忠钰:AI和人类对垒「奇葩说」,如何打造智能辩手?

来源&#xff1a; 智源社区作者&#xff1a;魏忠钰整理&#xff1a;熊宇轩导读&#xff1a;想象一下&#xff0c;在一场AI和人类对垒的「奇葩说」&#xff0c;智能辩手的表现会如何&#xff1f;论辩的过程&#xff0c;既需要理解对方的表达&#xff0c;同时根据对方的观点生成自…

EleutherAI:当OpenAI不够开放时,我们该如何选择?

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮人工智能最令人不安的事情之一是它超越了人类控制、遏制或规范它的权力。然而&#xff0c;它可能会产生可怕的结果&#xff0c;例如药物发现人工智能最近错误地发现了可用作化学武器的致命毒素。今天&#xff0c;没有比 Eleuth…

星地融合→→→6G移动通信关键技术的未来

来源&#xff1a;人民邮电报作者&#xff1a;柯文卫星通信与地面移动通信融合构建全球无缝覆盖的星地融合网络&#xff0c;这一趋势作为未来6G网络技术发展的重要方向得到业界广泛认可&#xff0c;成为当前学术界和产业界研究的热点。  中国信科副总经理、专家委主任&#xf…

这就是深度学习如此强大的原因

来源&#xff1a;ScienceAI编译&#xff1a;绿萝据报道称&#xff0c;由于采用基于云的技术和在大数据中使用深度学习系统&#xff0c;深度学习的使用在过去十年中迅速增长&#xff0c;预计到 2028 年&#xff0c;深度学习的市场规模将达到 930 亿美元。但究竟什么是深度学习&a…