我需要一些帮助来解决这个问题。我对 Heroku 没有太多经验,这是我第一次这样做,但我需要非常快速地部署一些应用程序。我试图用
禁用collectstatic <块引用>heroku 配置:设置 DEBUG_COLLECTSTATIC=1 -a name_of_app
但它没有做任何改变。 任何人都可以帮助我吗?以下是日志:
Parameters:
KeyName:
Description: Name of an existing EC2 KeyPair to enable SSH access to the instance
Type: 'AWS::EC2::KeyPair::KeyName'
ConstraintDescription: must be the name of an existing EC2 KeyPair.
MySubnet:
Description: My subnet from my VPC
Type: 'AWS::EC2::Subnet::Id'
Default: subnet-YYYYYYYY
MySG:
Description: My Security Group from my VPC
Type: 'AWS::EC2::SecurityGroup::GroupName'
Default: SG-YYYYYYYY
Resources:
Ec2Instance:
Type: AWS::EC2::Instance
Properties:
InstanceType: t2.micro
ImageId: ami-09e67e426f25ce0d7
SecurityGroups: !Ref MySG
SubnetId: !Ref MySubnet
KeyName: !Ref KeyName
答案 0 :(得分:1)
在您的 Heroku 终端中运行 heroku config:set DISABLE_COLLECTSTATIC=1
,以禁用静态收集。默认情况下,Heroku 将在每次部署时运行 collectstatic
注意:禁用 collectstatic 是一个临时解决方案。
对于永久解决方案,您必须在settings.py中配置静态root,例如
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
之后,您必须在本地运行 python manage.py collectstatic
以确保一切都在本地运行。
然后你可以禁用收集静态
heroku config:unset DISABLE_COLLECTSTATIC
并且您可以使用
将代码推送到herokugit push heroku master