如何在Python中将字符串截断为75个字符?
这是在JavaScript中完成的:
var data="saddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsaddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddsadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
var info = (data.length > 75) ? data.substring[0,75] + '..' : data;
Run Code Online (Sandbox Code Playgroud) 我有一个期待两种形式的模板页面.如果我只使用一个表单,那么就像这个典型的例子一样好:
if request.method == 'POST':
form = AuthorForm(request.POST,)
if form.is_valid():
form.save()
# do something.
else:
form = AuthorForm()
Run Code Online (Sandbox Code Playgroud)
但是,如果我想使用多个表单,我如何让视图知道我只提交其中一个表单而不是另一个表单(即它仍然是request.POST但我只想处理提交的表单事情)吗?
这是该解决方案基于这样的答案expectedphrase和bannedphrase是不同形式和不同的提交按钮的名称expectedphraseform和bannedphraseform是形式.
if request.method == 'POST':
if 'bannedphrase' in request.POST:
bannedphraseform = BannedPhraseForm(request.POST, prefix='banned')
if bannedphraseform.is_valid():
bannedphraseform.save()
expectedphraseform = ExpectedPhraseForm(prefix='expected')
elif 'expectedphrase' in request.POST:
expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected')
if expectedphraseform.is_valid():
expectedphraseform.save()
bannedphraseform = BannedPhraseForm(prefix='banned')
else:
bannedphraseform = BannedPhraseForm(prefix='banned')
expectedphraseform = ExpectedPhraseForm(prefix='expected')
Run Code Online (Sandbox Code Playgroud) 我试图将一组数字从-100标准化为0到10-100的范围,并且只是注意到即使没有变量,也没有评估我期望它的方式:
>>> (20-10) / (100-10)
0
Run Code Online (Sandbox Code Playgroud)
浮动部门也不起作用:
>>> float((20-10) / (100-10))
0.0
Run Code Online (Sandbox Code Playgroud)
如果除法的任何一方被强制转换为浮点数,它将起作用:
>>> (20-10) / float((100-10))
0.1111111111111111
Run Code Online (Sandbox Code Playgroud)
第一个示例中的每一侧都评估为int,这意味着最终答案将被转换为int.因为0.111小于.5,所以它会变为0.在我看来,这不是透明的,但我想这就是它的方式.
解释是什么?
如果我使用urllib2打开文件,如下所示:
remotefile = urllib2.urlopen('http://example.com/somefile.zip')
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法来获取文件名,然后解析原始URL?
编辑:将openfile更改为urlopen ...不确定是怎么回事.
编辑2:我最终使用:
filename = url.split('/')[-1].split('#')[0].split('?')[0]
Run Code Online (Sandbox Code Playgroud)
除非我弄错了,否则这也应该删除所有潜在的查询.
我想将Python日期时间转换为RFC 2822日期时间.我尝试过这些方法无济于事:
>>> from email.Utils import formatdate
>>> import datetime
>>> formatdate(datetime.datetime.now())
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/email /utils.py", line 159, in formatdate
now = time.gmtime(timeval)
TypeError: a float is required
Run Code Online (Sandbox Code Playgroud) 有没有人有指导让Eclipse(Galileo),PyDev和Virtualenv一起工作?我特意试图运行Pinax,但任何说明都没问题.
我以为我有它(甚至博客除了最后一步 - 交互式调试之外的所有内容)仍然没有解决方案.我特别关注OS X,但任何答案都应该足够了.这是迄今为止我发现的最好的资源:
http://blog.vlku.com/index.php/2009/06/10/djangoeclipse-with-code-complete-screencast/
使用不可编辑的UITextView,我想在iOS9 +中嵌入这样的文本:
只需点击这里注册
我可以创建一个函数并操作文本但是有更简单的方法吗?
我看到我可以使用NSTextCheckingTypeLink,因此在Interface Builder中可以直接获取文本而无需"click here"部分:
只需http://example.com即可注册
我正在使用Xcode 8和Swift 3,如果这是相关的.
有没有人可以快速将不安全的字符串转换为int?
字符串通常以:'234\r\n'或类似的东西返回.
在这种情况下我想要234.如果'-1\r\n',我想要-1.我从不希望方法失败,但我不想尝试,除了,传递只是为了隐藏错误(万一发生极端事件).
有没有人知道Python的nosql数据库的抽象层类似于SQL Alchemy for SQL?这将允许redis,mongodb等......是可插拔的后端,而无需专门为每个后端编写.
我正在尝试在Intel Mac OS X Leopard计算机上安装PIL.不幸的是,"setup.py build"认为它应该为ppc进行编译.
gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -O3 -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/opt/local/include/freetype2 -IlibImaging -I/sw/include -I/opt/local/include -I/Users/adam/Development/pinax-env/include -I/usr/local/include -I/usr/include -I/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c libImaging/GifEncode.c -o build/temp.macosx-10.3-i386-2.5/libImaging/GifEncode.o
Run Code Online (Sandbox Code Playgroud)
这失败了,因为我的机器上没有可用的ppc arch文件(我也不想安装它们).我怎么能告诉setup.py只做i386?
我在/Library/Frameworks/Python.framework中查找配置文件无济于事.