小编Ant*_*off的帖子

Django:我如何防止数据库条目的并发修改

如果有办法防止两个或多个用户同时修改同一数据库条目?

向执行第二次提交/保存操作的用户显示错误消息是可以接受的,但不应以静默方式覆盖数据.

我认为锁定条目不是一个选项,因为用户可能会使用"后退"按钮或只是关闭他的浏览器,永远保持锁定.

django concurrency transactions atomic django-models

77
推荐指数
5
解决办法
4万
查看次数

解读YouTube的错误500页

这是YouTube的500页.有人可以帮忙解码这些信息吗?

<p>500 Internal Server Error<p>

Sorry, something went wrong.
<p>A team of highly trained monkeys has been dispatched to deal with this situation.<p>

If you see them, show them this information:
AB38WENgKfeJmWntJ8Y0Ckbfab0Fl4qsDIZv_fMhQIwCCsncG2kQVxdnam35
TrYeV6KqrEUJ4wyRq_JW8uFD_Tqp-jEO82tkDfwmnZwZUeIf1xBdHS_bYDi7
6Qh09C567MH_nUR0v93TVBYYKv9tHiJpRfbxMwXTUidN9m9q3sRoDI559_Uw
FVzGhjH5-Rd1GPLDrEkjcIaN_C3xZW80hy0VbJM3UI5EKohX35gZNK2aNi_8
Toi9z3L8lzpFTvz5GyHygFFBFEJpoRRJSu3CbH5S2OxXEVo4HgaaBTV7Dx_1
Zs1HZvPqhPIvXg9ifd4KZJiUJDFS8grPLE7bypFsRamyZw-OCVyUHsGQKBwu
77pTtRwpF3hOxYLxM4KnAyiY1N6yrASSWyaeumRDENAoEEe8i8MRxzifqHuR
leatvNMiwsg1pbSl7IIiaKljZaD9UkRms4Kvz1uYUNk4AwXnJ9-Wq44ufMPl
syiHp_LwaeqyuxXykJMl-SA9p05VrJc4kCETUW3Ybp0yTYvVrqggo56A0ofC
OiyAmifQA9pdYVGeumrQtbFlFyDyG9VKNpzn5lqutxFZPsS8xjiILfF3bETD
H4aUb5fT4iERFsEL7S-ClsXiA4yAJdAcNH-OhGg9ipAaIxRRTOR5P1MYx6s6
-OrqgpT5VEaEx2hMpS1afaMd2_F21sxvcz2d8sCpEceHHSfsntTth6talYeD
4l63aUTbbCKV1lHxKWxdUjACFKRobeAvIpcJPcdHSN3CNQI-LlIWIx9jeyBU
tDcL6S6GpRG_Z2of9fmw0LHpVU5hKlQ3lCPd4pVP6J02yrsBi0S9OLoE9jmM
T2FfCvU1sWUCsrZu4-UPflXMyRnFK8aN8DYiwWWE8OvnLQ-LIaRDhjp29u9a
LT6Lh4KxEmWF5XeZTwrzJxtuDLVomxVD5mpwFvK0YSoaz9dnPGXb0Fm2txSL
BvGssSrWBJ4FeR6eEEkd_UkQ-aUnPv2W-POox17n54wzTwLugYjslRenMzmk
I4_jlXcx9NpKmUg7Pa0qJuaElt-ZymPv6h0cXRUlyZtS0iT9-CQOHWLYMi3I
kKrYa6bKUCAj058JEderSnbXqGEMvwBeZ_xgJpAjJiSgMOxJPokhbS6ezIv4
1JNr_dvQyvu4vh-YQNZ37fNTqQcoDZtYflBsJjuGrJlmIcqBYufB9g6nUaOE
xPAKjPdvZ_z1Rn_8sWVf8NHNBBKGe5lgDgBxypsV0kIwVa9QOlehivOaieBI
tmqHNdQIfdob0XUTEBPSeLj9hmw3Bqplc3gqUfFhIvpHml6dOTbjBhfkq0TE
5yCRHL2VSe2Xt9_i8SPQA2yCtJVO8HP6pnohmxqlBWSTE8Xj87PI6quX7f9i
0W6PdtkMYaGJsd_Ly_4Ag-KmGNHN585tF9eC5HeQ8Gz-vHZWOUiM4OQAG9UA
31ENOAjHtYb--ketbUcdX_FdjGiPtI_GxYeBqEShICotcd-S-E3bEGO-77M2
CuUUdB1AUYVDZR81XejVG5kSWsrz-p1qZ-6sSpSHCp114C6PheQPCwRHEr_1
AS-DkZfIuZ-w8XAo6pHIwvnv0dORSo-hPFgw1rw2VE4aKsgeMc7ZoPUxby1d
Zr-o-0X4ZMgxoQHw_Ub27rTTHxS5Czt_vgBPq7k5OK5dm6b7JCs6Dbn2dsIA
AakPL26t4smr8IiPAnqNC2sn7vxSiAe9mTJ670eNc6C9dCSGwqzqSURiLHmT
kFyLhNSOdipttECmSSA1qh_E0K4LUhiOq7MFDEzg9CLD8kuJrqpEGgltYpD-
8lk7KEpyjMqbWFs-qeD8uJpsVfY2ac1C67OmyGzkERVoC245-YXuNCP8KUZH
LGzRm9jXwUP_piDETX0N5xj34VOCfUTffT1WlWHmB9WRPhwjIsYYy_kgR-uT
kIEDQ23NVUEGgDoryl-ymysIfwifjq-lPB3e85dz1PajNxawsCrKNeR_4hhq
zE_E4ete1EgXeAYoeH4UIgrPGXDD-KfoNoB6viNs0GzNU9czD9Avr-tDtARO
HBLSLIVRYq8caMA-jvpplTOMoDdmUMUWytf4Y_F5tKTpNtLPaAe1py1IgZBl
lfAGY9L_k5slelh_9gUBEkURxS2oMGf2gdSeDdRBxKKx5tF1b-cuMLK6JYZJ
vbGFYSsSENOkHrHEo9NdTwTi7NON9ZgRJgh7OaENK4TFCXrhKc4C6cyJs-V_
HZ0Q-B8XDyjL0qudg_0rJbjTNpNZajT_1WGsnhsTTAgMCGtTsj1T8vNx2LuX
lPQV30nUKpukdCP3zuiE9_aeJQ-nzf3dMQ-KnZU5APmGcIP_u2be6blieMWH
qVax1asKmuIjslh49ceM6lRt3Ia2bHUB8b1TMSjU4I79KPqc3clDnD8quNnU
cRkgfJ_8LCEoH7jml_2TNV0fLuH_9IOXF3jKjhT9K5f-e5N06GmPQLzdqzeQ
MnEtHuDcf4IizyKnB5GUXoNfQxbScQEzztQ_nHMYfF-E8KqoxxlK-Z0wfEDv
dJpL3mcNfFu_vz-_LJ0oI4dE0-vthsxbpTxVQkdI0E5XSi4nYfLqhXompk4j
gpxcHBjsXVbWcnelWhhQP15gCApj6Gz_ddRtk_uxiyiqZ44oUUDcl1KeWMTf
yhKDj7jgGNzTOkUsXZRPb9M77-ZYPuL2wR68E3b9PC_mS6HBHiUxQ7pXvkwS
Bi2CoFgd9SqBXk2O5I_BPaEoA8Aorazw4OvDrmTQrCk4OkGPKRukE4Ci2RMq
TZIYbBz-v3QxmOKHJoMXPNOfj93TRWpmlAd6iHCH6BVlSdfgfjdbHeD0b0ct
qXC_-S5fr1XFBuaZwaUTrBPxU-3IxWLp-dx7wpKcFykqKnByYpkzR3twKEXc
z--CZV79Qk3ZTMY9ATia4HbyhoAqY_hV9GKAHQdU_C-9qwYt0rliNUcizlBc …
Run Code Online (Sandbox Code Playgroud)

youtube

67
推荐指数
2
解决办法
6万
查看次数

Django模板中的_()或{%trans%}?

在Django模板中,您可以使用{{ _("Hello World") }}{% trans "Hello World" %}标记要翻译的字符串.在文档中,"官方"方法似乎是{% trans %}标记,但_()语法也提到过一次.

这些方法有何不同(语法除外)以及为什么应该优先于其他方法?

一个区别是你显然不能使用{% trans %}标签和过滤器.但这是否意味着我可以_()随处使用,比如{{ _("String") }}?与使用{% trans "String" %}独立字符串以及_()标签和过滤器相比,它更加干净,更加一致.

django translation django-templates internationalization

43
推荐指数
1
解决办法
3万
查看次数

如何逐步绘制矢量路径?(Raphael.js)

如何为矢量路径设置动画,就像它正在逐渐被绘制一样?换句话说,逐个像素地慢慢显示路径.

我正在使用Raphaël.js,但是如果你的答案不是特定于库的 - 也许有一些通用的编程模式来做这种事情(我对矢量动画很新) - 欢迎!


使用直线路径很容易,就像该页面上的示例一样简单::

path("M114 253").animate({path: "M114 253 L 234 253"});
Run Code Online (Sandbox Code Playgroud)

但尝试改变该页面上的代码,比如说,这样::

path("M114 26").animate({path: "M114 26 C 24 23 234 253 234 253"});
Run Code Online (Sandbox Code Playgroud)

你会明白我的意思.从初始状态(点"M114 26")到结束状态(曲线"C 24 23 234 253 234 253",从点"M114 26"开始),路径肯定是动画的,但不是以有问题的方式指定,不是像它正在被吸引.

我不知道怎么animateAlong能这样做.它可以沿着路径为对象设置动画,但是如何在对象沿着它进行动画处理时使这条路径逐渐显示出来?


解决方案?

(通过peteorpeter的回答.)

似乎目前最好的方法是使用原始SVG通过'假'破折号.有关说明,请参阅本演示本文档,第4页.

如何制作渐进式绘图?

我们必须使用stroke-dasharraystroke-dashoffset知道要绘制的曲线长度.此代码在屏幕上不显示圆形,椭圆形,折线,多边形或路径:

<[element] style="stroke-dasharray:[curve_length],[curve_length]; stroke-dashoffset:[curve_length]"/>
Run Code Online (Sandbox Code Playgroud)

如果在animate元素stroke-dashoffset减少到0,我们将逐步绘制曲线.

<circle cx="200" cy="200" r="115"
    style="fill:none; stroke:blue; stroke-dasharray:723,723; stroke-dashoffset:723">
    <animate begin="0" attributeName="stroke-dashoffset"
        from="723" to="0" dur="5s" fill="freeze"/>
</circle> …
Run Code Online (Sandbox Code Playgroud)

javascript animation svg bezier vector

31
推荐指数
5
解决办法
4万
查看次数

当使用pip从存储库安装包时,使用(i)gnore,(w)ipe,(b)ackup选项意味着什么?

使用pip安装软件包时,我收到以下消息:

Obtaining some-package from git+git://github.com/some-user/some-package.git@commit-hash#egg=some_package-dev (from -r requirements.txt
 (line 3))
  git clone in /Users/me/Development/some-env/src/some-package exists with
 URL https://github.com/some-user/some-package.git
  The plan is to install the git repository git://github.com/some-user/some-package.git
What to do?  (s)witch, (i)gnore, (w)ipe, (b)ackup
Run Code Online (Sandbox Code Playgroud)

我看到这个特殊情况可能是由URL中的协议更改引起的(新需求使用git://,而已安装的使用https://).

但是,我想知道如果我选择其中一个选项(切换,忽略,擦除,备份)会发生什么.我无法在pip文档中找到解释.

python git pip

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

新Google文档UI中的滚动条如何设置样式(尤其是箭头按钮)?

新的Google文档用户界面采用了酷炫的灰色滚动条.

Google文档用户界面的屏幕截图

这些似乎是常规滚动条样式选择器::-webkit-scrollbar-thumb.哪个好看又方便.

但是,我无法显示箭头按钮(在屏幕截图上显示).Inspector不显示相应的DOM元素或任何特殊的CSS.那么问题是,这些自定义滚动条是如何制作的,包括箭头按钮?

请看看这个小提琴.

编辑:

所以似乎并非所有css规则都出现在Inspector中.

特别是,你需要::-webkit-scrollbar-button:vertical:decrement::-webkit-scrollbar-button:vertical:increment,以及它们的horizontal等价物.

请参阅新小提琴(2012年4月27日更新).

css scrollbar google-docs styling

23
推荐指数
2
解决办法
1万
查看次数

加号在Python中的变量前面做了什么?

在我必须维护的项目中有以下一些Python代码:

# If the `factor` decimal is given, compute new price and a delta
factor = +factor.quantize(TWOPLACES)
new_price = +Decimal(old_price * factor).quantize(TWOPLACES)
delta = new_price - old_price
Run Code Online (Sandbox Code Playgroud)

这里的问题是+变量前面的目的.

Python文档调用一元加运算,其"产生的数值参数不变".它可以安全地移除吗?

(顺便提一下,代码是我前一段时间编写的,希望我已经吸取了教训 - 如果测试存在,或者如果在评论中澄清使用小数一元加上,那么这不是一个问题.)

python decimal unary-operator

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

Django模型中可空的TextField或空字符串?

正如我从这个数据库设计问题中所理解的那样,你应该谨慎地使用可空字段,并且每次都要对重新考虑数据设计是否更好进行权衡决策.

但是,让我们说在某些特定情况下,解决方案是允许文本字段包含空值.比如说,有user表和short_bioDjango中由TextField表示的列,并不是必需的.创建一个单独的user_bio表没有意义,对吧?

现在的问题是,空值是空字符串还是空标记?每种选择的利弊是什么?Django如何与数据库一起工作有什么细节可以产生差异?


应该注意的是,django-lint目前报告CharField和TextField实例null=True.

相反,一些开发人员将 '空字符串存储为空白字符串被视为一个坏主意' .

django database-design

8
推荐指数
2
解决办法
7486
查看次数

Buffer.from() 或 TextEncoder.encode() 哪一个更可取?

根据我的理解和 API 文档,在 Node 中,以下内容是等效的并返回一个Uint8Array

\n
Buffer.from(someString, 'utf-8')\n
Run Code Online (Sandbox Code Playgroud)\n
(new TextEncoder()).encode(someString)\n
Run Code Online (Sandbox Code Playgroud)\n

其中任何一个即将被弃用吗?如果所有\xe2\x80\x99s 所需的只是将 UTF-8 字符串与 s 相互转换,是否有人知道使 BufferTextEncoder/优于另一个的任何考虑因素?TextDecoderUint8Array

\n

javascript node.js

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

Sorl-thumbnail:升级到新版本

我记得有人讨论未来sorl-thumbnail和即将发生的重大变化; 现在该页面已经消失......我很高兴该项目仍在积极维护,但我在文档中找不到任何后向兼容性问题.

那么,为了将旧的sorl(v3.2.5)更新为当前版本(10.12.1),我需要做些什么?我是否需要修复模板标签的使用或设置?

django sorl-thumbnail

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

有什么方法可以在更改代码时使用 django shell 而无需重新启动

我使用 Djangoshell_plus来测试我的模型和视图

但是当我收到错误时,我更改了代码,然后我必须重新启动我的 shell_plus

然后输入我输入的所有命令

有什么方法不需要重新启动shell,我可以更改代码,然后再次测试命令

python django shell

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

模式匹配驱动的逻辑在现实世界的应用程序中是什么样子的?

我偶然发现了以下段落(在阅读PEP-3119时,但问题是\xe2\x80\x99t 特定于语言的)。强调我的。

\n\n
\n

特别是,经常需要以对象类的创建者没有预料到的方式处理对象。为每个对象构建满足该对象每个可能用户需求的方法并不总是最佳解决方案。此外,有许多强大的调度理念与严格封装在对象内的行为的经典 OOP 要求形成鲜明对比,例如规则或模式匹配驱动的逻辑

\n
\n\n

我\xe2\x80\x99m熟悉OOP:围绕反映概念或现实世界实体的对象构建的代码,封装状态,并且可以通过方法进行操作。

\n\n

规则或模式匹配驱动的逻辑如何工作?它是什么样子的?

\n\n

真实世界的示例(也许在 Web 应用程序后端域中?)将非常感激。这里\xe2\x80\x99是OOP中的相应示例。

\n

oop pattern-matching

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

如何轻松地在Django中编写自定义模板标签?

在Django中编写模板标签并不容易,并且需要大量的样板代码.做痛苦最不痛苦的方法是什么?

  • 那有没有libs?
  • 有没有不涉及第三方应用程序的技巧?
  • 什么是你的方式做到这一点?

(一旦我想办法,我会把这篇文章作为社区维基.)

django templatetags

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