首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django/Heroku推送新版本后,某些模板不会更新

Django是一个用Python编写的开源Web应用框架,而Heroku是一个云平台,可以用来部署、运行和扩展应用程序。在使用Django和Heroku进行开发和部署时,有时会遇到推送新版本后某些模板不会更新的问题。下面是对这个问题的完善和全面的答案:

问题概述: 在使用Django和Heroku时,当我们推送新版本后,有时会遇到某些模板不会更新的情况。

原因分析:

  1. 静态文件缓存:Django默认会对静态文件进行缓存,包括模板文件。这意味着当我们更新模板文件时,旧版本的缓存文件可能仍然被使用,导致新的模板不会被加载。
  2. Heroku的部署机制:Heroku在部署应用程序时,会使用git进行代码部署。但有时推送的代码可能没有正确部署或运行,导致模板更新不会生效。

解决方法:

  1. 清除静态文件缓存:在Django中,我们可以通过在settings.py文件中设置静态文件的缓存配置来解决这个问题。具体可以通过修改以下两个配置项:
    • 设置STATICFILES_DIRS为空列表:STATICFILES_DIRS = []
    • 设置STATIC_URL的版本号参数:STATIC_URL = '/static/' + os.getenv('STATIC_VERSION', 'v1') + '/' 这样做可以在每次更新静态文件时改变静态文件的URL,以确保浏览器加载最新的静态文件。
  • 强制刷新浏览器缓存:有时浏览器也会缓存静态文件,导致新的模板不会被加载。我们可以在浏览器中按下Ctrl + Shift + R(Windows)或Cmd + Shift + R(Mac)来强制刷新页面,以加载最新的静态文件和模板。
  • 检查Heroku部署:确保在使用git推送新版本之前,代码已正确部署到Heroku并成功运行。可以通过在本地运行heroku logs --tail命令来查看Heroku的日志信息,以便排查部署和运行时可能出现的问题。

推荐的腾讯云相关产品和产品介绍链接地址: 由于要求不能提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,这里不提供腾讯云相关产品和产品介绍链接地址。你可以在腾讯云官方网站上查找相关产品和解决方案。

总结: 在使用Django和Heroku进行开发和部署时,如果推送新版本后某些模板不会更新,我们可以通过清除静态文件缓存、强制刷新浏览器缓存和检查Heroku部署来解决这个问题。这样可以确保模板的更新能够正确加载和显示在应用程序中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

关于“Python”的核心知识点整理大全64

推送Heroku之前,必须检查状态并看到刚才所说的消息。如果你没有看到这样的消息,说明有未提交 的修改,而这些修改将不会推送到服务器。...下面来将修改的仓库推送Heroku: (ll_env)learning_log$ git push heroku master --snip-- remote: -----> Python app...注意 500错误页面不会显示任何有关当前用户的信息,因为发生服务器错误时,Django不会通 过响应发送任何上下文信息。 3....将修改推送Heroku 现在需要提交对模板所做的修改,并将这些修改推送Heroku 1 (ll_env)learning_log$ git add . 2 (ll_env)learning_log...为部署这里所做的修改,再次提交,并将项目推送Heroku。 20.2.18 继续开发 将项目“学习笔记”推送到服务器,你可能想进一步开发它或开发要部署的其他项目。

9710

Github Python网页框架资源集合,包括Django、Flask、Tornado等

Channels - Channels旨在增强Django的异步能力,同时让Django不仅仅局限于Request-Response模型,能够支持WebSocket、HTTP2推送和背景任务。...只要提供app名称,Django Baker就可以根据models.py文件中的models,自动生成视图、表单、URL、admin页面以及模板。2015年出现的十大流行Python库 。...django-hackathon-starter - django-hackathon-starter这是一个Django Web应用模板程序,可以帮助你快速生成应用。...django-seed - Django-seed通过faker库,为Django模型生成测试数据。该库支持Python和Django的最新版本。2015年出现的十大流行Python库 。...deisp - 开源PaaS系统Deis是一个 Django/Celery API 服务器、Python CLI 和一组 Chef cookbooks 合并起来提供一个类似 Heroku 的应用平台,用于公有云和私有云

2.3K60
  • 关于“Python”的核心知识点整理大全62

    dj-database-url包帮助 DjangoHeroku使用的数据库进行通信,dj-static和static3包帮助Django正确地管理静态文件, 而gunicorn是一个服务器软件,能够在在线环境中支持应用程序提供的服务...有鉴于此,我们可以信心满满,深信项目部署到Heroku,行为将与它在 本地系统上的完全相同。当你在自己的系统上开发并维护各种项目时,这将是一个巨大的优点。...其他设置的作用分别如下:支持HTTPS请求(见3);让Django能够使用 Heroku的URL来提供项目提供的服务(见4);设置项目,使其能够在Heroku上正确地提供静态 文件(见5)。...我们还需在这个文件夹中创建一个占位文件,因为项目被推 送到Heroku时,它将不会包含原来为空的文件夹。...但这不会影响你将项目部署到Heroku。.

    15710

    把你开发的网站免费发布到互联网上(1)

    与 PythonAnywhere 类似的免费平台还有 Heroku,Openshift 等,收费平台有阿里云、亚马逊 AWS、微软 Azure 等。...本文包括两部分: 直接在 PythonAnywhere 新建项目 在 PythonAnywhere 上部署已有项目 由于篇幅较长,我们将分两次推送。...只是想尝尝鲜的同学可以用第一种方法,也就是今天推送的这部分内容。 想要完整的将本地或者 github 项目部署到 PythonAnywhere 的同学请使用第二种方法。我们将在下次推送中详细说明。...部署前须知 1.1 部署环境 针对本次部署的一些说明: Python 版本:3.5 Django 版本:1.10 数据库采用 Django 自带的 splite3 1.2 遇到问题怎么办 由于每个人的部署环境...新建 views.py 文件,添加如下代码: ? 2.4 运行 完成修改之后,需要点击一下 Reload 重新载入修改的网站。 ? 下面是见证奇迹的时刻!

    1.9K60

    如何从Django应用程序发送Web推送通知

    在此步骤中,您将更新此文件以包含您在上一步中创建的视图的新路由以及django-webpush应用程序的URL ,这将为订阅用户提供推送通知的端点。...第4步 - 创建模板 Django模板引擎允许您使用与HTML文件类似的模板定义应用程序的面向用户层。在此步骤中,您将为home视图创建和呈现模板。...下一步是告诉Django在哪里找到你的模板。为此,您将编辑settings.py和更新TEMPLATES列表。...接下来,在您的views.py文件中,更新home视图以呈现home.html模板。...在这里有三个参数:request,将被提出的template,并且对象包含将在模板中使用的变量。 通过创建模板更新home视图,我们可以继续配置Django来提供静态文件。

    9.8K115

    通过Mono 在 Heroku 上运行 .NET 应用

    英文原文:Running .NET on Heroku 中文原文:在 Heroku 上运行 .NET 应用 自从加入了Heroku之后,我就想在这个平台上运行.NET程序。...修复 NuGet.exe  全小写路径问题 (相信官方已经修复了,不过新版本还未发布出来)。 删除全部 targetFramework 属性。...修复 NuGet 中仓库命令的奇怪参数问题 (我已经向 NuGet发了补丁) 至此,我们修正了 Mono, NuGet 和编译包,应该解决了那些障碍。...现在,我们将解决方案部署到 Heroku 里面去: $ heroku create $ heroku config:add BUILDPACK_URL=https://github.com/friism...使更多的 Visual Studio 模板可以使用。 寻找 XSP 的替代品 (如 nginx)。 请参考  README中的TODO. 欢迎大家参与到这个项目中来。

    3.2K60

    GitHub 前 CTO:全面微服务是最大的架构错误!网友:这不是刚改完 GitHub 吗

    任职期间,GitHub 迁到微服务架构 Warner 曾在 Heroku 担任副总裁 / 工程主管三年多,并在担任 Ubuntu Desktop 工程主管近四年,在 2017 年 5 月开始担任 GitHub...在数据库模式中添加或删除表,都要更新这个文件。 接下来,对于每个模式域,团队找了一个分区键。这是一个共享字段,将一个功能组中的所有信息联系在一起。...GitHub 是从 webhook 推送和语法高亮开始的。...同样,从事 SEO 优化的公司 Botify 在运行了不到四年的微服务也放弃了。 Botify 平台通过 Django 应用程序的负载均衡集群提供服务。...鉴于每天都要在 JavaScript 身份验证后端和 Django 模块之间频繁地来回切换,在权衡了架构的优缺点以及潜在的迁移成本,Botify 将身份验证后端重新加入到 Django 单体中,并于

    1K20

    Python Web 深度学习实用指南:第四部分

    您可以在这个页面上阅读有关扩展 Django 模板的更多信息。 此登录页面中的表单发出POST请求,因此需要传递 CSRF 令牌。 现在,我们可以创建登录完成呈现的页面。...因此,数据通过管道传递,并且定期更新预测。 因此,此方法比批量预测方法提供了更多最新的预测。 现在让我们讨论一些工具,这些工具可以快速实现我们介绍的某些方法。...在服务器端逐步更新模型。 将应用部署到 Heroku。 我们将从第零步开始; 也就是说,观察数据集。 UCI 心脏病数据集包含 303 个样本,每个样本具有 76 个属性。...接下来,我们将文件添加到git并推送Heroku。...现在您可以将文件推送Heroku git项目进行部署。

    6.8K10

    Django 优秀资源大全项目资源非 Python 包工具贡献

    数据迁移 当有模式更新,能用来进行数据库迁移的包。 South, bitbucket forks:169 - 一个提供了模式和数据迁移功能的 Django 应用,支持至 Django 1.6.x。...django-pushy, star:157 - 一个 Django 应用,使用 celery 来提供推送功能。该应用的主要目的是帮助你批量向你的用户发送推送消息。...django-zebra, star:177 - 表单,组件,模板标签及模板,以使 Stripe + Django 更容易(3 年未更新)。...django-report-builder, star:453 - Django ORM 的一个用户界面。能构建自定义的查询并显示结果。目标用户是系统管理员及不会编程的终端用户。...网站 Django Girls Tutorial - 一篇有趣并且吸引人的教程,显示了如何使用 Django 创建一个 blog 并部署到 Heroku

    14.2K90

    放弃“免费套餐”,Heroku的遗产又少了一个

    Heroku 是一种平台即服务 (PaaS),是 2007 年创建的第一批云平台之一,可让开发者将 git 存储库推送到云端,然后神奇地获取在某处运行的应用程序的 URL。...他们那时候绝对不会料到这份宣言会在之后数年时间里,成为 SaaS 应用开发的启蒙书。同时这也奠定了 Heroku 在 PaaS 领域的地位,成为了云上应用开发规范化的基石。...从某些方面来说,这是对的,但是 Dockerfile 仍然是非常低的抽象层次,低到有些不可取。...从那以后,如果说基础层需要更新,或者某种编程语言的次要级别 / 补丁级别需要更新,都可以广泛地进行,而不必调整每个项目的 Dockerfile。 下一个栈的固定性:Heroku 的栈是以树命名的。...这导致了很酷炫的内部演示,但是可以预料的是,他们不会有所动作。 总而言之,特别是考虑到之前发生的安全问题,Heroku 作为一个自维持的产品是一个失败。

    4.7K40

    python测试开发django-81.dwebsocket实现websocket

    前言 HTTP 协议有一个缺陷:通信只能由客户端发起,做不到服务器主动向客户端推送信息。...WebSocket 协议它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。...它会为某些数据设定过期时间,当数据过期才会向服务端发送请求;这种机制适合数据的改动不是特别频繁的情况。...流技术通常是指客户端使用一个隐藏的窗口与服务端建立一个HTTP长连接,服务端会不断更新连接状态以保持HTTP长连接存活;这样的话,服务端就可以通过这条长连接主动将数据发送给客户端;流技术在大并发环境下,...3.WebSocket.wait() 返回一个客户端发送的信息,在客户端关闭连接之前他不会返回任何值,这种情况下,方法将返回None 4.WebSocket.read() 如果没有从客户端接收到新的消息

    1.3K20

    Django应用上线前有哪些注意事项?如何使用同步或异步容器启动Django应用?

    下图为Django TestCase的几个重要的基类: SimpleTestCase:继承自python,可以发起HTTP请求,跟页面模板以及URL做交互,但是该基类禁止了数据库的访问。...该类不会实际写入数据表,用例跑完后会直接Rollback,所有的数据操作均不会生效。...self.assertFalse(False) setUpClass和tearDownClass 分别是在整个类加载的时候去运行setUp做一些准备工作,等到类下的所有TestCase运行完再运行...# 测试指定方法 $python manage.py test jobs.testcase.test_views.JobTests.test_detail 发布到生产环境的步骤 url请求进来先到...2、选择 Django App 的托管环境 (IaaS/PaaS,比如阿里云 / AWS/Azure/GAE/Heroku 等等) 密钥的存储和管理: 从配置文件中读取,或者从环境变量中读取(明文):

    1.5K20
    领券