如果有办法防止两个或多个用户同时修改同一数据库条目?
向执行第二次提交/保存操作的用户显示错误消息是可以接受的,但不应以静默方式覆盖数据.
我认为锁定条目不是一个选项,因为用户可能会使用"后退"按钮或只是关闭他的浏览器,永远保持锁定.
这是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) 在Django模板中,您可以使用{{ _("Hello World") }}
或{% trans "Hello World" %}
标记要翻译的字符串.在文档中,"官方"方法似乎是{% trans %}
标记,但_()
语法也提到过一次.
这些方法有何不同(语法除外)以及为什么应该优先于其他方法?
一个区别是你显然不能使用{% trans %}
标签和过滤器.但这是否意味着我可以_()
随处使用,比如{{ _("String") }}
?与使用{% trans "String" %}
独立字符串以及_()
标签和过滤器相比,它更加干净,更加一致.
如何为矢量路径设置动画,就像它正在逐渐被绘制一样?换句话说,逐个像素地慢慢显示路径.
我正在使用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-dasharray
并stroke-dashoffset
知道要绘制的曲线长度.此代码在屏幕上不显示圆形,椭圆形,折线,多边形或路径:Run Code Online (Sandbox Code Playgroud)<[element] style="stroke-dasharray:[curve_length],[curve_length]; stroke-dashoffset:[curve_length]"/>
如果在animate元素stroke-dashoffset减少到0,我们将逐步绘制曲线.
Run Code Online (Sandbox Code Playgroud)<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> …
使用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文档中找到解释.
新的Google文档用户界面采用了酷炫的灰色滚动条.
这些似乎是常规滚动条样式选择器::-webkit-scrollbar-thumb
.哪个好看又方便.
但是,我无法显示箭头按钮(在屏幕截图上显示).Inspector不显示相应的DOM元素或任何特殊的CSS.那么问题是,这些自定义滚动条是如何制作的,包括箭头按钮?
请看看这个小提琴.
编辑:
所以似乎并非所有css规则都出现在Inspector中.
特别是,你需要::-webkit-scrollbar-button:vertical:decrement
和::-webkit-scrollbar-button:vertical:increment
,以及它们的horizontal
等价物.
请参阅新小提琴(2012年4月27日更新).
在我必须维护的项目中有以下一些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文档调用它一元加运算,其"产生的数值参数不变".它可以安全地移除吗?
(顺便提一下,代码是我前一段时间编写的,希望我已经吸取了教训 - 如果测试存在,或者如果在评论中澄清使用小数一元加上,那么这不是一个问题.)
正如我从这个数据库设计问题中所理解的那样,你应该谨慎地使用可空字段,并且每次都要对重新考虑数据设计是否更好进行权衡决策.
但是,让我们说在某些特定情况下,解决方案是允许文本字段包含空值.比如说,有user
表和short_bio
Django中由TextField表示的列,并不是必需的.创建一个单独的user_bio
表没有意义,对吧?
现在的问题是,空值是空字符串还是空标记?每种选择的利弊是什么?Django如何与数据库一起工作有什么细节可以产生差异?
应该注意的是,django-lint目前报告CharField和TextField实例null=True
.
相反,一些开发人员将 '空字符串存储为空白字符串被视为一个坏主意' .
根据我的理解和 API 文档,在 Node 中,以下内容是等效的并返回一个Uint8Array
:
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 相互转换,是否有人知道使 Buffer
或TextEncoder
/优于另一个的任何考虑因素?TextDecoder
Uint8Array
我记得有人讨论未来sorl-thumbnail
和即将发生的重大变化; 现在该页面已经消失......我很高兴该项目仍在积极维护,但我在文档中找不到任何后向兼容性问题.
那么,为了将旧的sorl(v3.2.5)更新为当前版本(10.12.1),我需要做些什么?我是否需要修复模板标签的使用或设置?
我使用 Djangoshell_plus
来测试我的模型和视图
但是当我收到错误时,我更改了代码,然后我必须重新启动我的 shell_plus
然后输入我输入的所有命令
有什么方法不需要重新启动shell,我可以更改代码,然后再次测试命令
我偶然发现了以下段落(在阅读PEP-3119时,但问题是\xe2\x80\x99t 特定于语言的)。强调我的。
\n\n\n\n\n特别是,经常需要以对象类的创建者没有预料到的方式处理对象。为每个对象构建满足该对象每个可能用户需求的方法并不总是最佳解决方案。此外,有许多强大的调度理念与严格封装在对象内的行为的经典 OOP 要求形成鲜明对比,例如规则或模式匹配驱动的逻辑。
\n
我\xe2\x80\x99m熟悉OOP:围绕反映概念或现实世界实体的对象构建的代码,封装状态,并且可以通过方法进行操作。
\n\n规则或模式匹配驱动的逻辑如何工作?它是什么样子的?
\n\n真实世界的示例(也许在 Web 应用程序后端域中?)将非常感激。这里\xe2\x80\x99是OOP中的相应示例。
\n在Django中编写模板标签并不容易,并且需要大量的样板代码.做痛苦最不痛苦的方法是什么?
(一旦我想办法,我会把这篇文章作为社区维基.)
django ×6
python ×3
javascript ×2
animation ×1
atomic ×1
bezier ×1
concurrency ×1
css ×1
decimal ×1
git ×1
google-docs ×1
node.js ×1
oop ×1
pip ×1
scrollbar ×1
shell ×1
styling ×1
svg ×1
templatetags ×1
transactions ×1
translation ×1
vector ×1
youtube ×1