站在巨人肩膀上造輪子
Python的生態(tài)就是好啊,你想要什么基本都能找到開源的方案,業(yè)務之外的代碼很少還需要自己從0開始去擼代碼的。當然不只是python,其它語言都非常open,開源的一大堆,只是相對來說Python更多。
如果開源的代碼不滿足需求,最多也只需要站在巨人肩膀上來改改就行。
昨天那篇文章最后還留了個尾巴,項目引用了GitHub上一個開源庫 django-mdeditor。上傳圖片這個功能,我是希望把圖片直接存阿里云oss(阿里云商務看到了麻煩給我打款)。
好處不用說,自然是為了方便和體驗,服務器遷移的時候就不用考慮這些圖片資源了,放云端有CDN的加持,用戶體驗也會好很多。
今天抽空就把這個項目拿來直接改造了,本來想發(fā)個issue給原作者去更新,我看這個項目最近的更新日志還是半年前,應該也是個“很懶”的家伙。
直接fork了一份代碼,名字叫django-mdeditor-pplus,因為plus被人用了,那我就叫pplus。
加的代碼其實不多,就是根據配置開關來判斷是否要使用oss來存圖片
# save image
file_full_name = '%s_%s.%s' % (file_name,
'{0:%Y%m%d%H%M%S%f}'.format(datetime.datetime.now()),
file_extension)
if MDEDITOR_CONFIGS.get("OSS"):
# 使用阿里云存儲
import oss2
auth = oss2.Auth(settings.OSS_ACCESS_KEY_ID, settings.OSS_ACCESS_KEY_SECRET)
bucket = oss2.Bucket(auth, settings.OSS_ENDPOINT, settings.OSS_BUCKET_NAME)
bucket.put_object(file_full_name, upload_image.read())
url = f"https://{settings.OSS_BUCKET_NAME}.{settings.OSS_ENDPOINT}/{file_full_name}"
else:
with open(os.path.join(file_path, file_full_name), 'wb+') as file:
for chunk in upload_image.chunks():
file.write(chunk)
url = os.path.join(settings.MEDIA_URL,
MDEDITOR_CONFIGS['image_folder'],
file_full_name)
return JsonResponse({'success': 1,
'message': "上傳成功!",
'url': url})
當然你還可以擴展來支持更多平臺,比如騰訊云、或者華為、七牛之類的云服務。

項目地址:https://github.com/lzjun567/django-mdeditor, 歡迎pull request 或者 fork 繼續(xù)改造它。
所以,當有人問我怎么樣才算掌握python或者掌握一個框架時?
我的答案是只要有獨立解決問題的能力,不管是用什么方法,能hold它,我認為算是掌握了這門語言。
另外千萬別說自己“精通”,曾經我也不知天高地厚過,還沒畢業(yè)就在簡歷上寫“精通”,結果對懟得體無完膚。還好,越老不知道的越多。
小長假,大家好好休息
昨天的次條是贈書活動的推文,發(fā)現一堆沒關注的留言,我就好奇他們是怎么找到這篇文章的,看來以后加個硬性條件,關注至少一個月才有參加資格。
要勸退么?
