部署到PythonAnywhere

这对我来说是一个挑战。 不一定要从Github推送站点,而是让所有组件按其在本地的方式工作。

***让我注意,这是我将应用程序部署到PythonAnywhere的首次尝试***

因此,就像我在上一篇文章中提到的那样,我决定配置和部署此博客,这是我的python学习过程的一部分。 我完成了一些Django教程,所以我觉得现在是利用该知识并开始撰写博客的好时机。 views.py,settings.py,urls.py等在我的本地服务器上都运行良好,但是我想添加一些其他功能。

我意识到在本地我的textfield()方面都使用了虚拟内容 lorem Ipsum 东西) 。 因此,当我第一次使用Django Girls教程中的步骤部署站点时,我忽略了它。 我去写了我的第一篇博客文章,发布后意识到我具有 html标记功能。 这很糟糕,因为我希望能够链接到我找到的资源,邮政编码示例等。

所以我做了任何人都会做的。 问谷歌! 在搜索“ django的丰富html文本编辑器”之后 ,我遇到了tinymce。 不考虑要求,我立即“安装”了它。 我在settings.py,urls.py和我的模型下设置了代码配置,保存并检查了它。

没有工作。

感到困惑,我回到找到它的站点以得到一些答案。 原来它不支持Django 2.0及更高版本。 因此,我将pip卸载并返回到我的适当版本搜索中。 一段时间后,我发现了tinymce4-lite ,这是为Django 2.0及更高版本创建的mod版本。 完善!

我加载了它,不久之后它在本地就像一个魅力一样起作用。 我保存,犯下这个坏男孩并将其推到Github。 然后我将其推到pythonanywhere。 现在我不再在这里详细介绍,因为这篇文章会更长(这是从中部署现有django应用程序的链接),但是使用Python Anywhere,您必须设置一个虚拟环境(virtualenv)并配置一些使您的应用正常运行的详细信息。 如果您从未听说过虚拟环境,那么它基本上是一个封装区域,您可以使用与本地开发依赖项不同的条件来构建某些东西。 因此,如果由于某种原因您仍在标准usr / bin中使用Python 2,但是您需要为特定项目使用Python3.7,则virtualenv可以使您做到这一点,而不必费心心爱的本地设置。

Anyhoo,我已完成所有设置,但是现在我的CSS无法正常工作! 该博客在CDN上使用了引导程序4,并且正在加载绝对基础知识。 我的自定义CSS文件抛出404错误。 事实证明,指向正确的文件后,我需要从bash终端运行命令:python manage.py collectstatic完成了任务……大部分。

意识到我还有更多的样式要做之后,很快我就在模板上使用了“ linebreaksbr”过滤器,此外,我的模板上没有“安全”过滤器。 如果没有在模板上声明“ tinymce4”内容将要去到的“安全”位置,您最终将看到一堆乱七八糟的废话,没人会读。 好的,它并不是真正的乱码,但是它是一堆html标记,看起来也不漂亮。

因此,我清理了这些物品,最后一切正常。 我想说的是,尽管直接进入一个项目真是太棒了,但您只要阅读文档甚至快速指南,您肯定可以节省时间和头痛。 我犯了一个错误,就是仅仅看到我需要运行什么pip命令,而没有查看依赖关系以及所支持的版本。 花了我一些时间。 我还要做的另一件事是查看这些库的报告错误部分。 其他用户往往会先发现问题,然后再这样做,这是节省时间和Google侦探工作的另一种方式。

不知道我将向此博客添加多少功能,因为我只是希望它成为一个我可以写关于python的地方。 但是我需要研究Django中的很多内容,因此我可能会发现一些我想实现的很棒的东西。 我要说的是,长时间从事某项工作并以您想要的方式将它们组合在一起真是太棒了。 这样的时刻有助于消除您所感觉到的冒名顶替综合症,因为您不仅学到了一些东西,而且还应有所作为。

现在就这样。 哦,新年快乐! 我认为2018年过得很快,但这很好,因为2019年是我真正致力于全职发展的一年🙂

OJ