1.djangoå¦ä½ä½¿ç¨bootstrap
2.在DJango中如何使用layui(2023年最新整理)
3.django数据太多怎么分页(2023年最新整理)
djangoå¦ä½ä½¿ç¨bootstrap
导读ï¼å¾å¤æåé®å°å ³äºdjangoå¦ä½ä½¿ç¨bootstrapçç¸å ³é®é¢ï¼æ¬æé¦å¸CTOç¬è®°å°±æ¥ä¸ºå¤§å®¶å个详ç»è§£çï¼ä¾å¤§å®¶åèï¼å¸æ对大家ææ帮å©ï¼ä¸èµ·æ¥ççå§ï¼Bootstrapåºæ¬ä½¿ç¨Bootstrapæ¯å½åæµè¡çå端æ¡æ¶ãä¸é¢ï¼æ们æ¥ççBootstrapçåºæ¬ä½¿ç¨å§ã
Bootstrapä¸æç½
å¨æµè§å¨ä¸è¾å ¥ãBootstrapä¸æç½ãï¼ç¶åç¹å»ç¸å ³çé¾æ¥ï¼å¦ä¸å¾æ示ï¼
Bootstrapä¸æææ¡£
ç¶åä¼è¿å ¥ç¸å ³ç页é¢ï¼ç¹å»ãBootstrapä¸æææ¡£ãæé®ï¼å¦ä¸å¾æ示ï¼
ä¸è½½Bootstrap
ç¶åç¹å»ãä¸è½½Bootstrapãæé®ï¼å¦ä¸å¾æ示ï¼
Bootstrapæç¨
ä¸è½½ç¸å ³ææ¡£ä¹åå°±å¯ä»¥ä½¿ç¨ææ¡£ä¸çJSæ件ï¼ç¶åå¨æµè§å¨ä¸è¾å ¥ãBootstrapæç¨ãï¼å³å¯å¦ä¹ ç®åçBootstrap使ç¨æ¹æ³ã
å¦ä½ä½¿ç¨Djangoå建å客ï¼å¦ææ¨æ³å¼å§åå客ï¼åæ³ä½¿ç¨åè½å¼ºå¤§çWebæ¡æ¶å建èªå·±çå客ï¼é£ä¹Djangoæ¯æ¨çæä½³éæ©ãç®å该系åæ个æç¨ï¼æä»å¨ç 究ä¸ï¼æ¬¢è¿æ¨ç»ææ´å¤çæ³æ³ã
è¿äºæç¨æ¯ï¼
为Djangoå¼å设置Vscodeï¼å¨ç¬¬ä¸ä¸ªè§é¢ä¸ï¼æ¨å°å¦ä¹ å¦ä½å¨vscodeææ¬ç¼è¾å¨ä¸ä¸ºDjango建ç«å¼åç¯å¢ã使ç¨Djangoå建å客æç« æ¨¡åï¼è¯¥è§é¢æ¶µçäºä¸ºå客æç« å建模åçææç»èï¼ä»æ é¢ï¼ä½è å°æ ç¾ãå°å¯ææ¬ç¼è¾å¨æ·»å å°Django项ç®ï¼å¨è¿éï¼æ¨å°å¦ä¹ å¦ä½å°å¯ææ¬ç¼è¾å¨æ·»å å°è¡¨åæDjango项ç®ä¸çä»»ä½ä½ç½®ã
设计å¸å页é¢ï¼æå ³ä½¿ç¨Bootstrap4设计详ç»å¸å页é¢çå¿«éæç¨ã
å建详ç»ä¿¡æ¯å¸åç±»è§å¾ï¼æ¨å°å¦ä¹ å¦ä½ä¸ºå客å¸åå建åºäºç±»çè§å¾ï¼å®å°å 许æ¨å¨èªå®ä¹å¸å页é¢ç管ç页é¢ä¸ä½¿ç¨èªå®ä¹é¾æ¥æ¾ç¤ºæ们å¨ç®¡ç页é¢ä¸å建çå¸åã
è·è¸ªæ¨çDjangoç½ç«ç访é®è æ°éï¼æ们å°çå°å¦ä½è·è¸ªå客æç« ç访é®é/æµè§éãæ们å°ä½¿ç¨ä¸ä¸ªå·¥å ·ï¼è®©æ¨ç¥éå¤å°è®¿å®¢å¨æ¨çå°æ¶çå°æ¨çå¸åãå¦å¤ï¼æ¨å°è½å¤ç¥éä»ä»¬çIPå°ååä»ä»¬ä½¿ç¨çç¨æ·ä»£çã
å¨Djangoä¸æ·»å è¦åå¸çè¯è®ºï¼å¨æ¬è§é¢ä¸ï¼æ¨å°çå°å¦ä½å¨å客åºç¨ä¸æ·»å è¯è®ºæ¨¡åãå æ¤ï¼è¯»è å¯ä»¥åæ¨åéè¯è®ºï¼è¿å°å¾å®¹ææ§è¡å管çãæ¤å¤ï¼æ¨è¿å°çå°å¦ä½å°æ³¨é计æ°æ·»å å°è§å¾æ件ã
设计å客页é¢-å¼å¯¼ç¨åºï¼æ¨å°è®¾è®¡å客页é¢ï¼å ¶ä¸å°ååºå客æç« åå ¶ä»å ç´ ã
Djangoå客å表è§å¾ï¼å¨æ¬è§é¢ä¸ï¼æ¨å°çå°å¦ä½å¨å客页é¢ä¸æ¾ç¤ºå客æç« ï¼æ们å°ä»ç»å¦ä½éè¿å¨å¸å模åä¸æ·»å å¦ä¸ä¸ªå±æ§æ¥è®¿é®æ¯ä¸ªå¸åçé¾æ¥ãæ¤å¤ï¼æ¨è¿å°çå°å¦ä½å¨è¾¹æ ä¸æ¾ç¤ºçé¨å¸ååå¸åç±»å«ã
Django3.1ä¸çç®åå页ï¼æ¤è§é¢å°ä» ä»ç»Djangoå页çä¸ä¸ä¸ªåä¸ä¸ä¸ªæé®ã
Djangoæ索表å[带æQ对象çè¿æ»¤å¨]ï¼å¦ä½å¨Djangoå客ç½ç«ä¸å®ç°æç´¢åè½
å¨Djangoä¸å页æç´¢ç»æï¼ä½¿ç¨Bootstrapï¼CSSæ¡æ¶ï¼å建ç®åçå页ï¼ç¶åå°å页åè½å®ç°å°Djangoæç´¢ç»æ页é¢ã
å¨è¯¦ç»ä¿¡æ¯å¸åä¸æ·»å 类似çå¸åå°é¨ä»¶ï¼å°æ è®°åè½æ·»å å°æ们çDjangoå客ç½ç«ã
使ç¨Djangoçç®åç¨æ·èº«ä»½éªè¯ç³»ç»ï¼å®ç°Django第ä¸æ¹åºç¨ç¨åºï¼ç¨æ·å¯ä»¥å¨å ¶ä¸æ³¨åï¼ç»å½ä»¥åé设åæ´æ¹å¯ç ã
å©ç¨djangoä¸bootstrapæä¹ç¨å ä¸è½½bootstrapçæºç æè å¨çº¿ä¹è¡
settingé设置好/static/
å¨appä¸å»ºç«staticæ件夹
æbootstrapæè¿å»
ç¶ååä¸è¬htmlé£æ ·å¼ç¨å°±è¡äºsrc='/static/bootstrap/js/......js'
bootstrap使ç¨æ¹æ³
é¢æ¿æ ·å¼æ¯å¨å¾å¤ç§æ åµä¸é½å¯è½ä¼ä½¿ç¨å°çæ ·å¼ä¹ä¸ï¼ä¾å¦å客ç侧边æ ãä¼ä¸ç½ç«çå ¬åæ ãæ ç®å表çã
é¢æ¿æ ·å¼é¤äºå 容ä¹å¤ï¼è¿æä¸ä¸ªé¢æ¿å¤´é¨å¯ä»¥æ·»å æ é¢ï¼è®©æ们éè¿è¿ç¯æç« ççBootstrapé¢æ¿æ ·å¼ç使ç¨æ¹æ³ã
Bootstrapé¢æ¿åºæ¬æ ·å¼
ç´æ¥è°ç¨é¢æ¿æ ·å¼ä¹é常容æï¼åªéè¦éè¿ä»¥ä¸ä»£ç å³å¯å®ç°ï¼
divclass="panelpanel-default"divclass="panel-body"Basicpanelexample/div/div
è¯¥æ ·å¼ä» ä» å å«äºé¢æ¿æ ·å¼çå 容é¨åï¼è没æå å ¥å¤´é¨ï¼éç¨äºä¸éè¦å¤´é¨çé¢æ¿å 容ã
Bootstrapé¢æ¿å¸¦æ é¢æ ·å¼
ä¸é¢æå°çé¢æ¿æ ·å¼æ¯æ²¡æ带æ é¢çï¼å¨ä¸äºæ åµä¸ä¸å¤ç¨ï¼æ以Bootstrapé¢æ¿è¿æä¾äºå¸¦ææ é¢çé¢æ¿æ ·å¼ï¼è®©æ们ççåºè¯¥æä¹å»ä½¿ç¨ï¼
divclass="panelpanel-default"divclass="panel-heading"h3class="panel-title"é¢æ¿æ é¢/h3/divdivclass="panel-body"é¢æ¿å 容/div/div
ä¸é¢è¿ä¸é¨å代ç æ¯æ为æ åç带ææ é¢çé¢æ¿ç»æï¼ä¸ºäºéåºé 读设å¤ä»¥åSEOæç´¢å¼æä¼åå ç´ ï¼æ好å°æ é¢æ¾å ¥h1-h5çæ ç¾ä¸ã
Bootstrapé¢æ¿å¸¦æ³¨èæ ·å¼
å¦æä¸äºè§£é说æç±»çæåæ æ³å¨é¢æ¿æ é¢å¾å¥½å°è¡¨ç°åºæ¥ï¼å¯ä»¥éè¿æ³¨èçå½¢å¼æ¥è¿è¡è¯´æï¼Bootstrapé¢æ¿åæ ·æä¾äºæ³¨èè¿ä¸ªæ ·å¼ï¼
divclass="panelpanel-default"divclass="panel-body"é¢æ¿å 容/divdivclass="panel-footer"é¢æ¿æ³¨è/div/div
éè¿ä¸»æ¬¡å ³ç³»æ¥è¿è¡æ é¢æè æ¯æ³¨èçéæ©ï¼æ¯ç¨å¥½é¢æ¿ç»ä»¶çå ³é®ã
Bootstrapé¢æ¿ææä¹çæ ·å¼
åå ¶ä»Bootstrapç»ä»¶ä¸æ ·ï¼Bootstrapé¢æ¿æ ·å¼åæ ·å ·æææä¹çæ ·å¼ï¼éè¿å¼ç¨è¿å ä¸ªæ ·å¼å¯ä»¥å°è¯¥é¢æ¿çä½ç¨ç´è§å±ç°åºæ¥ï¼åæ ·ä¹æ¯é£å ç§é¢è²åæ ·å¼å称ï¼
divclass="panelpanel-primary"主è¦é¢æ¿æ ·å¼/divdivclass="panelpanel-success"æåé¢æ¿æ ·å¼/divdivclass="panelpanel-info"ä¿¡æ¯é¢æ¿æ ·å¼/divdivclass="panelpanel-warning"è¦åé¢æ¿æ ·å¼/divdivclass="panelpanel-danger"å±é©é¢æ¿æ ·å¼/div
Bootstrapé¢æ¿ä¸è¡¨æ ¼ç»å
å¦æä½ éè¦å¨é¢æ¿ä¸å¼å ¥è¡¨æ ¼æ ·å¼ï¼é£ä¹ä¹å¯ä»¥å¾æ¹ä¾¿å°å®ç°ï¼
divclass="panelpanel-default"divclass="panel-heading"é¢æ¿æ é¢/divtableclass="table"è¡¨æ ¼å 容/table/div
Bootstrapé¢æ¿ä¸å表ç»å
å°±åå¼å¤´æ说çä¸æ ·ï¼å¦æä½ æ³è¦å¨é¢æ¿ä¸å¼å ¥å表ï¼é£ä¹çæ¯ååéä¸è¿äºï¼éè¿ä»¥ä¸ä»£ç 便å¯è½»æ¾å®ç°ï¼
divclass="panelpanel-default"divclass="panel-heading"é¢æ¿æ é¢/divdivclass="panel-body"pé¢æ¿å 容ç®ä»/p/divulclass="list-group"liclass="list-group-item"å表项ç®1/liliclass="list-group-item"å表项ç®2/liliclass="list-group-item"å表项ç®3/liliclass="list-group-item"å表项ç®4/liliclass="list-group-item"å表项ç®5/li/ul/div
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶ä»ç»çå ³äºdjangoå¦ä½ä½¿ç¨bootstrapçå ¨é¨å 容äºï¼å¸æ对大家ææ帮å©ï¼å¦æä½ è¿æ³äºè§£æ´å¤è¿æ¹é¢çä¿¡æ¯ï¼è®°å¾æ¶èå ³æ³¨æ¬ç«ã
在DJango中如何使用layui(年最新整理)
导读:今天首席CTO笔记来给各位分享关于在DJango中如何使用layui的分页分页相关内容,如果能碰巧解决你现在面临的源码问题,别忘了关注本站,分页分页现在开始吧!源码Layui(二):图标和按钮方法1:使用字符实体
只需要在一个class为layui-icon的分页分页容器类标签中加入字符的unicode码即可。
相关样式:layui-icon,源码资源 源码 博客代表使用layui的分页分页图标处理样式去渲染
方法2:使用样式
在class为layui-icon的容器类标签后追加对应的图标样式,而不需要在写unicode码。源码
相关图标样式可以去官网的分页分页文档查找。
相关样式:
(1)必要样式:layui-btn
(2)主题样式:
layui-btn-primary原始按钮
layui-btn-normal百搭按钮
layui-btn-warm暖色按钮
layui-btn-danger警告按钮
layui-btn-disabled禁用按钮
(3)大小样式:
layui-btn-lg最大按钮
layui-btn-sm小型按钮
layui-btn-xs迷你按钮
(4)图标结合:
把图标的源码样式也添加到class中即可
(5)圆角按钮:
layui-btn-radius
(6)按钮组:
套上一层class为layui-btn-group
layui按钮的事件监听可以使用jquery来做。
在layui内部使用jquery的分页分页方式:
layui的基本使用介绍方法:layui.define([mods],callback)
本地存储是对localStorage和sessionStorage的友好封装,可更方便地管理本地数据。源码
localStorage持久化存储:layui.data(table,分页分页settings),数据会永久存在,源码除非物理删除。分页分页
sessionStorage会话性存储:layui.sessionData(table,settings),页面关闭后即失效。源码怎么写注:layui2.2.5新增
layui.device(key)
方法/属性描述
layui.cache静态属性。获得一些配置及临时的缓存信息
layui.extend(options)拓展一个模块别名,如:layui.extend({ test:'/res/js/test'})
layui.each(obj,fn)对象(Array、Object、DOM对象等)遍历,可用于取代for语句
layui.getStyle(node,name)获得一个原始DOM节点的style属性值,如:layui.getStyle(document.body,'font-size')
layui.img(url,callback,error)预加载
layui.sort(obj,key,desc)将数组中的对象按某个成员重新对该数组排序,如:layui.sort([{ a:3},{ a:1},{ a:5}],'a')
layui.router()获得location.hash路由,目前在Layui中没发挥作用。对做单页应用会派上用场。
layui.hint()向控制台打印一些异常信息,目前只返回了error方法:layui.hint().error('出错啦')
layui.stope(e)阻止事件冒泡
layui.onevent(modName,events,callback)自定义模块事件,属于比较高级的应用。有兴趣的同学可以阅读layui.js源码以及form模块
layui.event(modName,events,params)执行自定义模块事件,搭配onevent使用
layui.factory(modName)用于获取模块对应的define回调函数
模块命名空间
layui的模块接口会绑定在layui对象下,内部由layui.define()方法来完成。kafka源码分析每一个模块都会一个特有的名字,并且无法被占用。所以你无需担心模块的空间被污染,除非你主动deletelayui.{ 模块名}。调用模块可通过layui.use方法来实现,然后再通过layui对象获得模块接口。
如何使用内部jQuery
//主动加载jquery模块
layui.use(['jquery','layer'],function(){
var//重点处
,layer=layui.layer;
//后面就跟你平时使用jQuery一样
$('body').append('hellojquery');
});
layui打开页面先加载
一、我们在使用layui.table前必须初始化layui模块,用到的模块一般常用的有两种layer(弹出层)和table(数据表格),然后用function进行模快的初始化,当然在初始化模块之前我们必须声明几个全局变量,
声明两个变量(layer和layuiTable)来接收模块的数据,并且保存layui模块以便全局使用。
声明一个变量(tabStudent)来放置表格数据。
二、开始初始化模块
首先我们在加载事件里面将声明的那两个变量来接收layer(弹出层)和table(数据表格)
三、接下来就是源码建网站初始化表格,初始化得到的数据就放入刚刚声明的全局变量(tabStudent)里面
四、在然后就是写初始化表格里面的参数:
将表格的ID放入elem(指定原始table容器的选择器或DOM,方法渲染方式必填)里面
查询方法的路径(url:异步数据接口相关参数,url参数为必填项)
设置表头(cols)将表格的结构放入
例:
需要写一个方法来设置最后一列来返回设置在最后一列所设置的操作按钮,比如当我们要在操作那行设置一个修改和删除的按钮的时候:
Onclick是点击事件
4.设置表格每页的行数:page(开启分页):{
limit:n(指定每页显示的条数)
limits:[5,,,n](每页条数的选择项)}
5.当你需要表格的一些“列显示隐藏”“打印”或者“导出”功能的时候你就必须设置开启表格的工具栏
参数toolbar的作用便是开启表格头部工具栏区域,该参数支持4种类型值:
toolbar:’#toolbarDemo(注:该代码取的是自定义好的模板的ID该模板可以放在页面的任意位置)’指定自定义工具栏模板选择器toolbar:’xxx’直接传入工具栏模板字符toolbar:true仅开启工具栏,不显示左侧模板toolbar:‘default’让工具栏左侧显示默认的内置模板该参数的默认值为false.
6.设置表格的图标:
defaultToolbar:可以自由配置头部工具右侧的图标,数组可以3种:
defaultToolbar:[‘filter’]:显示筛选图标
defaultToolbar[‘exports’]:显示导出图标
defaultToolbar[‘print’]:显示打印图标
这些值也可以根据排序的顺序来显示排版图标,如defaultToolbar:[‘filter’,’exports’,’print’
7.Table容器的默认宽度是跟随它的父元素铺满的,你也可以设定一个固定的值(width),当容器中的内容超出了该宽度时,会自动出现横向滚动条。甚至还可以设置表格的高(height)。
8.如果你点击一个切换分页时不知道它是否为加载状态,则你可以添加loading这个参数,它的大淘客源码作用就是是否显示加载条,默认值是为true,如果设置false则在切换分页时不会出现加载条(注:该参数只是适于url参数开启的方式)。
五、然后就是在控制器为表格添加数据,数据添加完成后将其方法名称放入url里面。
layuitabletoolbar的使用使用layui的table功能时,在参考官方文档layui数据表格情况下,修改工具栏左侧显示默认的内置模板。
toolbar:'default'?//让工具栏左侧显示默认的内置模板
左侧的内置以layui-icon显示的操作按钮就展示出来,如图所示-左侧部分
但有时根据项目需求,不需要显示添加编辑删除中的某一个或者某两个功能时,我们可以如下操作:
点击功能方法参考官网文档即可;
例如:不想自定义一个复杂的导出功能,在使用官网给的例子的情况下,使用自己的导出方法。删除掉默认模板导出功能,如下图所示:
总结:利用官网文档学习使用layui框架,再此基础上进行修改和完善达到我们想要的功能。
Layui-基本使用、数据调试首先是官方文档。我真的不是第一次觉得阅读官方文档比百度上搜索要有效率几百倍了,当然前提教程是汉语。
组件库
使用文档
Springboot+Thymeleaf+layui框架的配置与使用
Springdatajpa分页+layui数据表格渲染数据
我觉得我现在能看懂了,感慨。
layui.table里面json数据有多层嵌套,请问要怎么获取数据?
下面这个主楼里用的是改底层源码的方式,我觉得不可取。
layui数据表格total和data无法使用多层嵌套json格式的数据的解决办法
下面有对主楼这样的补充,但也是改的底层源码:
我用的版本中Layui符号是以字体的形式表示的(layui2.3.0之前只支持采用unicode字符),可能也是被拦截掉了,参考以下写法。
SpringBoot中引用LayUIfont不显示问题解决办法
以后可以直接使用内联元素调出字体图标。
Layui字体图标库
第二种方法(我没试过):
SpringBoot使用layui的字体图标时无法正常显示解决办法
layuiAdmin使用总结,基于springmvc
Layui在MVC下的配置过程,我没用到,但是感觉不错。去看了看这位以前的文章,感叹大佬真的太多了,随处一看就都是大佬。
虽然大家都说毕设很水,但是年轻又有为的人却不计其数,可能他们很聪明早就开始做自己的项目了,没把毕设当作发力点。那我就将错就错吧,我想学习,我很羡慕。
通过table.render来刷新、绘制table
Layui表格单元格编辑保存
le可编辑扩展下拉框编辑器
layui的table中日期格式转换
这个除了显示其实还有个问题:当这个日期还是null时,会自动显示当前日期,所以需要加一个判断,不为空才显示。
下面是我用在了进度计划行内编辑中的例子。
如何在Django中使用第三方库DATABASES={
'default':{
'ENGINE':'django.db.backends.sqlite3',#Add'postgresql_psycopg2','mysql','sqlite3'or'oracle'.
'NAME':'demo.db',#Orpathtodatabasefileifusingsqlite3.
#Thefollowingsettingsarenotusedwithsqlite3:
'USER':'',
'PASSWORD':'',
'HOST':'',#Emptyforlocalhostthroughdomainsocketsor'.0.0.1'forlocalhostthroughTCP.
'PORT':'',#Settoemptystringfordefault.
}
}
INSTALLED_APPS=(
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
#Uncommentthenextlinetoenabletheadmin:
#'django.contrib.admin',
#Uncommentthenextlinetoenableadmindocumentation:
#'django.contrib.admindocs',
'south',
'LearnSouth',
'books',
)
结语:以上就是首席CTO笔记为大家整理的关于在DJango中如何使用layui的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于在DJango中如何使用layui的相关内容别忘了在本站进行查找喔。
django数据太多怎么分页(年最新整理)
导读:今天首席CTO笔记来给各位分享关于django数据太多怎么分页的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!django如何实现列表分页列表分页不要想复杂了,本质上来说,分为两部分,界面操作和数据库查询。
数据库查询,仅仅在查询的时候,加入分片,从第几个到第几个就行了
界面操作做好链接就行,这样比你去用django自带的分页方便多了,还更符合你自己的实际需求
如何用Django分页器实现文章分页要全取出来再分页,在取的时候就取你需要的记录数,如:一页显示个,那么就取个,
djangopaginat怎么后端分页
这个东西的升级:1、你要对整个后端的代码非常熟悉,用到那些Django特性一清二楚。2、官方有upgradeguide之类的文档,根据所用特性照着改就行了。
django如何实现搜索功能并分页每页最多5条数据列表分页不要想复杂了,本质上来说,分为两部分,界面操作和数据库查询。
数据库查询,仅仅在查询的时候,加入分片,从第几个到第几个就行了
界面操作做好链接就行,这样比你去用django自带的分页方便多了,还更符合你自己的实际需求
Django实现自定义分页在views.py中
在templates/list_view.html中
路由映射,在urls.py中
Paginator和Page类都是用来做分页的。他们在Django中的路径为django.core.paginator.Paginator和django.core.paginator.Page。以下对这两个类的常用属性和方法做解释:
结语:以上就是首席CTO笔记为大家整理的关于django数据太多怎么分页的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django数据太多怎么分页的相关内容别忘了在本站进行查找喔。
暴雨致監獄受損 奈及利亞119囚犯集體越獄
泉州火车站交通秩序有好转 两个方案应对拉客乱象
歐盟擬利用被凍結俄資產援烏 佩斯科夫:俄將採取多種手段回應
常頭暈目眩甚至想吐? 中醫教「按自救3穴位」緩解不適
北京东城:打造亮照经营示范街区品牌
機器人來了!Sota現身天下經濟論壇|天下雜誌