Day29 - 上线後疑难杂症纪录

昨天将网站放上Heroku後,其实还有遇到一些问题,并加强了部分功能,故今天的内容主要将记录这些问题的解决情况。

使用社群登入时会出现HTTP 500错误

这个错误整理整个处理流程,共修正了两个问题:

  • 未设定Social application使用的client id和secret key
    根据Day23的内容,Social application的设定需要在网站启动後,於Admin功能进行设定。

  • 在Google云端的OAuth Client ID未授权
    完成client id设定後,在Google端的OAuth Client ID未授权 https:[APP名称].herokuapp.com使用,故Google会拒绝正式环境的验证。

使用社群登入时,出现Error: redirect_uri_mismatch的错误讯息

这个问题是在解决前一个问题的过程中发现的支线错误,经查原因是Google OAuth Client ID授权页面中,Redirect URI没有设定到https,加入「https:[APP名称].herokuapp.com/accounts/google/login/callback/」就恢复正常的。

爬虫功能的简转繁

考量未来使用的舒适度,今天加入了简转繁功能。

使用的是OpenCC这个套件。

安装:

pip install OpenCC

使用方法:

from opencc import OpenCC

cc = OpenCC('s2tw')  #s2tw: 简转繁     s2twp:简转繁(包含惯用词转换)
title = cc.convert(title)

Django Q没有作用

  • 未启动Django Q
    在开发环境时,我们可以使用指令启动Django Q
python manage.py qcluster

在Heroku环境要启动,需在Procfile加入worker:

worker: python manage.py qcluster --settings=path.to.my.settings
  • 未安装Redis
    Django Q需要使用Redis才能运行,但因为目前使用Heroku是用免费方案,只能选择一个资料库,但Django本身资料库又不支援Redis,故只好先寻找别的解决方案了。
    • 解决方案:开发django custom command,使用command执行batch script,将此指令加入Procfile,并使用Heroku Scheduler排程执行。 (尚未实作完成)

<<:  [番外] 一步一步实现购物车功能 [续]

>>:  创建App-传发短讯

线上课程学习心得

铁人赛到今天终於30天了,最後就来分享一下自己在现在平台学习的感想以及选择课程内容的技巧吧 课程选择...

【在 iOS 开发路上的大小事-Day02】抛弃 Storyboard 改用 Xib 来做全部的 UI 设计吧

前情提要 一般在用 Xcode 创新专案的时候,会预设使用 Main.storyboard 来作为我...

[NestJS 带你飞!] DAY26 - Swagger (上)

如果你是一名前端工程师,那麽你应该会有跟後端要 API 文件的经验,如果你是一名後端工程师,那你应该...

Day 20 api介绍

到了 Odoo 8.0,引入了新API,封装在api.py文件中,主要有一下几种类型: Odoo 1...

#7 - The Node Event Emitter

延续昨天的 module 课题。其实 Module 除了可以自订之外(像我们昨天的 stuff ),...