You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PythonAnywhere部署DjangoVet项目时遭遇JSONDecodeError求助

解决Django部署到PythonAnywhere时的JSONDecodeError问题

部署Codecademy的DjangoVet最终模块到PythonAnywhere时,error.log中出现如下JSON解析错误:

2023-02-11 07:01:19,598: Error running WSGI application
2023-02-11 07:01:19,599: json.decoder.JSONDecodeError: Expecting ':' delimiter: line 2 column 18 (char 19)
2023-02-11 07:01:19,599:   File "/var/www/dollarbi11_pythonanywhere_com_wsgi.py", line 17, in <module>
2023-02-11 07:01:19,600:     application = get_wsgi_application()
2023-02-11 07:01:19,600: 
2023-02-11 07:01:19,600:   File "/home/DollarBi11/.virtualenvs/vet/lib/python3.10/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
2023-02-11 07:01:19,600:     django.setup(set_prefix=False)
2023-02-11 07:01:19,600: 
2023-02-11 07:01:19,601:   File "/home/DollarBi11/.virtualenvs/vet/lib/python3.10/site-packages/django/__init__.py", line 19, in setup
2023-02-11 07:01:19,601:     configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
2023-02-11 07:01:19,601: 
2023-02-11 07:01:19,602:   File "/home/DollarBi11/.virtualenvs/vet/lib/python3.10/site-packages/django/conf/__init__.py", line 82, in __getattr__
2023-02-11 07:01:19,602:     self._setup(name)
2023-02-11 07:01:19,602: 
2023-02-11 07:01:19,602:   File "/home/DollarBi11/.virtualenvs/vet/lib/python3.10/site-packages/django/conf/__init__.py", line 69, in _setup
2023-02-11 07:01:19,603:     self._wrapped = Settings(settings_module)
2023-02-11 07:01:19,603: 
2023-02-11 07:01:19,603:   File "/home/DollarBi11/.virtualenvs/vet/lib/python3.10/site-packages/django/conf/__init__.py", line 170, in __init__
2023-02-11 07:01:19,603:     mod = importlib.import_module(self.SETTINGS_MODULE)
2023-02-11 07:01:19,603: 
2023-02-11 07:01:19,603:   File "/home/DollarBi11/djangovet/djangovet/settings.py", line 29, in <module>
2023-02-11 07:01:19,604:     project_keys = json.loads(k.read())
2023-02-11 07:01:19,604: 
2023-02-11 07:01:19,604:   File "/usr/local/lib/python3.10/json/__init__.py", line 346, in loads
2023-02-11 07:01:19,604:     return _default_decoder.decode(s)
2023-02-11 07:01:19,604: 
2023-02-11 07:01:19,605:   File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode
2023-02-11 07:01:19,605:     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
2023-02-11 07:01:19,605: 
2023-02-11 07:01:19,605:   File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode
2023-02-11 07:01:19,605:     obj, end = self.scan_once(s, idx)

相关文件代码

1. dollarbi11_pythonanywhere_com_wsgi.py

# +++++++++++ DJANGO +++++++++++
import os
import sys
#
## assuming your django settings file is at '/home/yourname/mysite/mysite/settings.py'
## and your manage.py is is at '/home/yourname/mysite/manage.py'
path = '/home/DollarBi11/djangovet'
if path not in sys.path:
    sys.path.append(path)
#
os.environ['DJANGO_SETTINGS_MODULE'] = 'djangovet.settings'
#
## then:
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

2. settings.py 第26-29行

KEYSDIR = str(BASE_DIR)+"/keys.json"

with open(KEYSDIR) as k:
    project_keys = json.loads(k.read())

3. keys.json 内容

{
    "SECRET_KEY" = "XXXX"
}

解决方案

问题出在keys.json的语法错误:JSON规范中键值对必须用冒号:分隔,而你用了等号=。修改keys.json内容如下:

{
    "SECRET_KEY": "XXXX"
}

修改后重启PythonAnywhere上的Django应用即可解决该错误。


内容的提问来源于stack exchange,提问作者Will McGregor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 11:35:22