2020年初伦敦行(7):大英博物馆(下)、博罗市场

1-31 大英博物馆(下)

​西亚

​大英博物馆的西亚馆甚至比埃及馆还要大,而西亚馆最显著的是亚述(Assyria)文物。从Nemrud宫门卸下来的高大威武的五足狮身鹰翼护法神Lamassu花岗石像,被放在展厅入口。展厅里都是从尼尼微亚述遗址里搬来的珍品。

文物被英国掠夺,既是悲哀也是幸运。ISIS占领摩苏尔(尼尼微所在地)后,野蛮破坏亚述文物。现在的尼尼微遗址,已经找不到像大英博物里那么完好的石雕文物了。​

图 | 亚述Lamassu石像

可以看到细节生动的卷髯亚述武士浮雕。

2020年初伦敦行(6):大英博物馆(上)

1-31 大英博物馆(上)

今天,拜访伦敦行之不可不去的大英博物馆。​

图 | 伦敦·罗素广场

此处有个极为重要的坑。我们坐地铁到Holborn(记住这个名字!)站,很多人挤在狭窄的过道里等电梯,旁边是空空如也的旋转步梯。以我这些天坐地铁的经验,步梯也就几十级台阶而已,干脆直接走楼梯吧。走上几步,看到一个标牌,「There are 500 steps to the ground floor」。500级这么多?来都来了,接着走吧。

2020年初伦敦行(5):自然史博物馆、西区音乐剧

1-30 伦敦

自然史博物馆

​不知不觉到了周四。这天主要的安排是去西区看音乐剧,空闲出来的上午便就近去自然史博物馆逛逛。

自然史博物馆在肯辛顿公园南,步行可达。博物馆北就是伦敦帝国学院。这是欧洲最大的自然科学博物馆,主楼便器宇不凡。​

图 | 伦敦·自然史博物馆

2020年初伦敦行(4):剑桥

1-29 剑桥

​又是个(难得的)晴天。按计划,到利物浦街(Liverpool Street)坐火车去剑桥。

利物浦街车站比​Paddington要新一点。站厅里有个矮墙围起来的区域,放满了自行车。英国人似乎很喜欢骑自行车到地铁/火车站,把车丢那儿,再坐轨交通勤。不过列车指示很不清晰,没有火车车次,只显示目标终点站和发车时间,得自己比照。差不多发车前20分钟,车次信息才上屏。打开提前下载好的Trainline应用,调出车票二维码,就可以扫码进站。和中国相比,最显著的不同是「不需要实名制」。

图 | 伦敦·利物浦街车站

火车是Great Anglia公司运营的,开得不快,不过有免费wifi。一路都是英式村镇,草还是绿的,但乔木的叶子已经落光了,枝条萧索纠缠地聚成一堆。

2020年初伦敦行(3):西敏寺、格林威治

1-28 伦敦

伦敦塔桥

​London Pass赶场打卡日。

图 | Big Bus Tour线路图

London Pass包含Big Bus和Original Tour两家公司的观光巴士。我们打算到绿园(Green Park)坐Big Bus的红线(经典线路),大致以Green Park为中心,把泰晤士河两岸的伦敦塔桥、议会大厦、圣保罗座堂、西敏寺等都兜一遍,行经路线主要是伦敦金融城的核心地段。

2020年初伦敦行(2):肯辛顿、温莎堡

抵达伦敦

十个小时飞行,一飞机的人都全程口罩,气氛严肃。落地是伦敦当地周日的七点。过关时提交一份健康申明,并未测温。坐上Piccadilly线(地图一般标记为靛青线),从希思罗机场直趋Earls Court。

这是条古老的线路(但还不是最老),咣当咣当地往东开。震动厉害时,车厢照明灯都会熄灭几盏。车厢里没几个人,忽明忽暗间有一种诡异的氛围。站台也不那么严丝合缝,部分站台比车厢地板高三四十公分。并不是所有站都适合残疾人上下车。

Earls Court是个换乘大站,上两层站台才到地面。走上Earls Court路,街上人还不少。​丁字路口没有红绿灯,我们跟着本地人趁空穿过马路,折入一条小巷。酒店就在其中一排民居中间。

早餐是清晨服务员送到门口的。一壶浓咖啡,三瓶果汁,数个面包+奶酪+果酱。很丰盛,感动地大吃一顿。谁料后面几日天天如此,完全不变。​真是「最优实践」实践到吐呢。

图 | 每日早餐

2020年初伦敦行(1):西安出发

行前

Google可视化地图 »> 在此(需翻墙访问)

伦敦之行​策划得很仓促。早在十月,规划春节出游计划时,大统领刷手机突然发现春节初期飞英国的机票蛮优惠,于是就下手抢了一对。这便拉开了序幕。

其实

机票便宜是因为英国正在脱欧,大家都怕那里闹事。一分价钱一分货,老话几时骗过人。

不要妥协,坚持「真」的第一性

1

这些天,高福和王广发都被喷得不成人形。舆情汹汹,势同公审。

讲真,王广发是比较冤的。他是唯一被感染的高级专家,说明他真的下地干活了。他一个临床专家,习惯批阅个案而不是分析关联,哪有胆气说「没有人传人」?至于「可防可治可控」,是03 SARS中期钟南山喊出的口号,用来稳定军心。你理解成医学界的「有没有信心?有!」就好了。这次换人用,结果失灵了,并不能怪王广发。当时一个像样的人群措施都没上,喊什么口号都必然失败。

高福呢?冤,也不冤。网传他只管抢写论文,不管防控。这是胡说。大家了解一下,论文作者的排名是有讲究的。第一名叫一作,实际执笔人,一般只有一作才算「写了本文」;第二名叫二作,通常是主要协作人,但国内也常有二作实际执笔,一作受益的情况,道理你懂的;第三名叫三作,出力次之;后面基本都是群演,相当于影片最末的演职员表被提到了片头;而最后一名又是例外,叫通讯作者,知识产权所有人,相当于老板。网传那篇新英格兰医学杂志的高影响因子论文,高福列名靠后,既不是前三作,也不是通讯作者,充其量友情署名,起了个「领导背书」的作用。可以很笃定地讲,这篇文章高福一个字都没有写,他的主要精力肯定是放在防控上了。

高福论文

图 | 网传高福抢发的新英格兰杂志高IF论文

edX作业:用Django建一个简易Web订单系统(2)

Admin后台

接上篇

模型做好后,可以在admin.py里注册一下。这样就能像User类一样,在Django后台管理界面维护这些数据。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# orders/admin.py
from django.contrib import admin
from .models import Category, Product, Topping, Addition, Order, Item

# Register your models here.
class CategoryAdmin(admin.ModelAdmin):
    list_display = ['name', ]

admin.site.register(Category, CategoryAdmin)

class ProductAdmin(admin.ModelAdmin):
    list_display = ['id', 'name', 'category', 'size', 'price', 'n_topping', 
                    'n_addition', 'created', 'updated']
    list_filter = ['category', 'size', 'created', 'updated']
    list_editable = ['price', 'size', 'n_topping', 'n_addition', ]

admin.site.register(Product, ProductAdmin)

class ToppingAdmin(admin.ModelAdmin):
    list_display = ['name', 'price']
    list_editable = ['price', ]

admin.site.register(Topping, ToppingAdmin)

class AdditionAdmin(admin.ModelAdmin):
    list_display = ['name', 'size', 'price']
    list_filter = ['size',]
    list_editable = ['size', 'price', ]

admin.site.register(Addition, AdditionAdmin)

class OrderItemInline(admin.TabularInline):
    model = Order.item.through
    readonly_fields = ['item', 'quantity',]
    extra = 0

class OrderAdmin(admin.ModelAdmin):
    list_display = ['id', 'user', 'quantity', 'price', 'status', 'created', 'updated']
    list_editable = ['status', ]
    readonly_fields = ['user', 'quantity', 'price', ]
    inlines = (OrderItemInline, )

admin.site.register(Order, OrderAdmin)

edX作业:用Django建一个简易Web订单系统(1)

摘要

还是edx的作业。今次要换用Django框架实现一个Pizza点单系统。
【honor code警告】如果你刚巧也注册了这门课,千万不要抄。

注意

如无法显示视频,可能被作为不安全脚本屏蔽。在浏览器地址栏里点击安全提示图标,允许运行不安全的脚本。

成品效果视频 @ 优酷:

这是哈佛继续教育学院开的的用Python和Javascript撸网络编程 第四个作业项目。

作业要求

做一个仿Pinocchio Pizza的Pizza预订系统。

可以看到

很明显,这个网站做得很渣。但是据说在哈佛所在的坎布里奇特别受欢迎,以特色潜艇堡(subs)著称。技术还是不如业务重要。

要实现以下功能:

  1. 分析样品菜单,构建模型
  2. 用Django admin或者写Python命令,添加菜单内容
  3. 用户注册、登录、登出
  4. 虚拟购物车
  5. 下订单
  6. 浏览订单和订单明细
  7. 延伸功能:比如系统管理员在后台更新订单状态、用Strip API 完成结算等