小编Ste*_*lim的帖子

Git神秘地删除东西(编辑:实际上是django-storages)

问题:有时,但不是每次,Git都会删除static回购目录.我们不确定是什么触发它,但它似乎发生在分支之间合并或有时甚至只是检查分支.它没有询问就这样做,并且吃掉跟踪的文件.

的背景:

  • 我有一个(私人)项目,有一些分支,'发布','开发',多个功能线.
  • 我们有两个人(我和@stevejalim)正在处理回购.这个问题发生在我们俩身上.
  • 我纯粹使用git命令的命令行; 史蒂夫正在使用命令行和Git Tower的混合物.
  • 这是一个带有static目录的Django项目.我们可能在过去的某个时刻git rm编辑了static目录,或者将其放入.gitignore,但不是最近.而我们的开发分支的负责人并没有static.gitignore和具有文件static跟踪.
  • 这种情况很少发生,以至于我们不确定这是我们正在做的事情,还是间歇性问题,Git的错误或损坏的树
  • 可能只在将另一个分支合并回来时才会发生develop.但是分支总是从分支develop到分支develop.但我们不确定.
  • 我们正在使用git-flow,但是在使用非git-flow命令时也会出现问题.

  • 作为何时可以攻击的例子:

    1)史蒂夫有一个干净的开发分支(没有改变提交或阶段)和稳定.他git flow release start|finish在流程中切换了一个新版本(可能是从master到back的合并),整个/ static/tree被删除了.

    2)Steve通过丢弃更改来修复删除(基本上取消删除文件).然后,史蒂夫只是从主人回到开发,而/ static/dir再次被摧毁(这与Git Tower有关)

    3)有时只是从功能分支合并到开发作为临时合并可以触发它.但是,在切割新版本时,它似乎确实发生了

它可能与我们如何修复/ static/dir的切换有关吗?批量取消删除已删除的内容的最佳方法是什么?抛弃局部变化或硬重置HEAD似乎都无法治愈.一个rebase可能帮助我们?

更新我们刚刚再次体验过这一点git add .- 没有变化的分支,没有合并.这有助于诊断吗?

以下是Steve的.git/config的内容:

[core]
   repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
[remote "origin"]
    fetch = …
Run Code Online (Sandbox Code Playgroud)

git django amazon-s3 django-storage git-branch

11
推荐指数
1
解决办法
382
查看次数

扩展pure-css网格以获得排水沟的最佳方法

我是从SUITCSS背景来到Pure CSS(Yahoo!框架),我正在寻找一种将排水沟添加到多列网格的简洁方法.

我已经看到了提到l-box技术,但找不到一个像样的例子.

这是我正在尝试的,通过添加pure-g-gutter类:

.pure-g .pure-g--gutter {
  margin: 0 -0.5rem;
}

.pure-g .pure-g--gutter > div {
  padding: 0 0.5rem;
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,虽然这似乎设置了预期的边距和填充,但它也会导致网格将第二列(两列)重排到下一行.

PureCSSers:你用什么来实现排水网格列?

css yui-pure-css

8
推荐指数
1
解决办法
4889
查看次数

使用boto的django-storages - 无法上传mp3,但可以上传图片.另外,遭受HTTP 307痛苦

我使用boto(2.2.1)后端用于django-storages(1.1.4)将文件上传到S3存储桶.它适用于图像,但是当我尝试上传电影文件(小型电影,小型AVI)或mp3时,我收到了一个Broken管道错误.

这很怪异.

深入研究Django回溯,我看到以下异常:

boto.https_connection.InvalidCertificateException
Run Code Online (Sandbox Code Playgroud)

哪种方式符合我使用Cyber​​duck直接检查存储桶的经验:有时它抱怨我在证书*.s3.amazonaws.com和域名之间存在不匹配*.s3-external-3.amazonaws.com

实际上,存储桶日志记录显示我正在为HTTP 307临时重定向服务.也许是AWS以一种方式发送一些内容类型而另一种方式发送内容类型,但boto/something无法完全跟上它?电影的上传似乎确实击中了S3两次,而图像击中它一次,所以很可能是boto正在处理307罚款(并且boto的307支持的已关闭门票是几年),所以它可以好吧,别的什么都搞定了.

但是什么?我已经从一个愉快的工作日变成了一个头脑,而且非常令人沮丧.

有关可能出现的问题和/或尝试解决此问题的任何建议?

(请注意,这与boto S3后端或简单的S3后端失败 - 只是boto给了我看起来更具体的错误)

django amazon-s3 boto amazon-web-services django-storage

6
推荐指数
1
解决办法
1451
查看次数

删除offline_access权限的明智解决方案

在离开FB平台一段时间后我回来建立一个FB应用程序,我发现旧的offline_access权限已被删除并替换为long(ish)-expiry tokens [1].

因此,现在看起来任何需要将数据推送到Facebook的外部应用程序,例如,外部应用程序中的计划或某些活动都需要处理已过期的长访问令牌.这更令人沮丧,因为现在注销FB的用户也将终止任何长期到期令牌[2],而之前,即使用户注销,offline_access仍然存在.

我仍处在思考解决阶段,但有两个想法浮现在脑海中:

1)每当我的应用程序联系具有FB集成的用户时,他们都会被要求单击一个链接,该链接将触发与FB重新授权以获取新的长访问令牌.我的用户通常会在长访问令牌的生命周期内多次联系,因此,只要他们需要,这应该有效地更新长访问令牌(即使它确实给我的应用添加了一些烦人的摩擦)

2)因为我无法保证1)将始终有效(例如,由于用户未点击我的应用程序的电子邮件通知中的重新验证链接或他们退出Facebook,我)还必须处理失败的FB交互将它们放入保留队列并通过电子邮件发送给用户,明确要求他们再次授予长访问令牌.不酷,但我看不到其他选择.如果他们在X尝试要求他们重新授予权限后没有回应请求,我只需要将任务分类并通过电子邮件发送给他们解释这是由于FB限制而不是我的应用程序.再次,不酷.

有没有人必须提出任何更好的解决方案来保持与身份验证/显式权限的用户帐户交互的能力?我很想知道你做了什么.

(这一切都在等待我重读FB ToS,当然 - 这完全有可能违反规则,这将更令人沮丧)

编辑/更新:我需要推送的数据是图像到相册,该相册将从各种来源到达我的服务器,然后被推送到适当的用户专辑中(当然,他们已经获得了预先授予的许可).我无法保证在图像到达我的服务器的时间点进行任何基于Web的最终用户交互,以便让最终用户授予我新的短寿命令牌.基本上,offline_access这对IMO来说真的很理想.

更新2:注意:我的用例非常关键,当需要授予或扩展令牌时,用户不一定会使用我的应用程序或Facebook.

[1] https://developers.facebook.com/roadmap/offline-access-removal/ [2] http://developers.facebook.com/blog/post/2011/05/13/how-to--handle -expired存取令牌/

facebook offline-mode facebook-access-token

6
推荐指数
1
解决办法
943
查看次数

CSRF失败导致间歇性403s(Django 1.2.3)

我对网站和CSRF有一点点疯狂/令人愤怒的错误.

我们在Ubuntu上使用Apache2 + mod_wsgi运行Django 1.2.3,Python 2.6,并且最终用户报告了403 CRSF验证失败和403s.

所有形式都有csrf_token- 并且据我所知 - 在本地开发和舞台上(我们尚未投入生产)的事情都很好......除了一个办公室(客户端,自然).在随机的场合,他们会得到这样的403,但随后刷新并且它会消失(因此不是缺少令牌的HTML等)

我正在考虑原因和解决方案,可能是办公室有一个极度过于热切或设置不当的代理缓存或类似的东西,并且会欣赏一些关于我们能做什么的提示,以Django/Apache的方式处理over-the-top代理(客户办公室可能不会改变他们的设置)或者还有什么可能导致这些CSRF失败.

BTW:这是一个从头开始的1.2.3项目,而不是某种1.1升级,我们只使用单一标准/正确的1.2.3 CSRFMiddleware并手动添加csrf_tokens - 而不是CSRFResponseMiddleware自动包含csrf_token

另外:这发生在两个独立的服务器(开发服务器和登台服务器)上,这些服务器托管在不同的位置.常见的因素是(理论上)相同的Django/Apache/mod_wsgi设置,相同的代码库和相同的办公室获得403s(并且无法在我们自己的位置复制403).

django proxy intermittent csrf http-status-code-403

5
推荐指数
1
解决办法
934
查看次数

为什么Heroku在新部署中安装旧的Python(pip)依赖项?

(按照Heroku自己的支持指示在这里问)

我们刚刚在dev环境之间的库不匹配的项目中发现了依赖性问题.细节是不相关的,但根本原因是一个依赖项,其中有一个"> ="版本匹配setup.py- 这意味着当一个开发人员重建他的环境时,他突然得到了最新版本(0.4.0)而不是旧版本他以前的版本(0.3.11),并开始得到一个DeprecationWarning.

作为调试过程的一部分,我的印象是每当将一个仓库推送到Heroku时,就会重建一个干净的环境,这导致我错误地假设我们的DEV环境(每天重建)会有最新的版本安装.因为我们没有在开发环境中看到问题,所以我决定进行调查,并heroku run pip list在远程环境中运行.

我非常惊讶地看到,这是旧的和过期的依赖项的幸运下降,而根本不是一个干净的环境.事实证明,作为旧安装的一部分,我们可能遇到了我们正在调试我们的实时环境中幸福生活的问题.

最简单的解释方法是BeautifulSoup库.我们最近从v3更新到v4,作为其中的一部分,库本身将PyPI上的名称从更改BeautifulSoupbeautifulsoup4.我们更新了requirements.txt以反映这一点,但如果我现在运行pip list我们的Heroku环境,我得到两个:

~ $ heroku run bash
~ $ pip list
BeautifulSoup (3.2.1)
beautifulsoup4 (4.3.2)
Run Code Online (Sandbox Code Playgroud)

因此,旧的依赖性尚未被清除,它只是坐在那里.通过启动python会话我可以很容易地证明它:

~ $ python
Python 2.7.4 (default, Apr  6 2013, 22:14:13)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import bs4
>>> import BeautifulSoup
>>>
Run Code Online (Sandbox Code Playgroud)

这有点令人震惊,令我惊讶的是,这还没有在某些时候杀死我们的应用程序?

所以,问题是 - Heroku如何在引擎盖下管理依赖关系 - 它显然不会擦除python环境并pip …

python django heroku

5
推荐指数
1
解决办法
1194
查看次数

django allauth CSRF验证失败错误

让我解释一下我在做什么?

我在浏览器上打开了两个标签,显示了我的登录页面(简单的用户名和密码表单).

使用选项卡1:我登录时提供正确的凭据.工作正常.

使用选项卡2 :(不刷新)我再次尝试使用相同或不同的凭据登录,这会引发403禁止错误失败原因:CSRF令牌丢失或不正确.

我知道,我正在做一些愚蠢的事情,当我已经登录时,我正在尝试登录.

我想防止引发的脏403错误并使进程顺利,因为当有人已经登录或其他不会破坏流程时,应该忽略第二个登录请求.我该怎么做呢?

我正在使用Django == 1.6.2和django-allauth == 0.14.1

authentication django django-csrf django-allauth

1
推荐指数
1
解决办法
1506
查看次数