这里总结了一些问题.是的,我知道其中一些答案;)我可以在其他人身上挥手,但我真的很喜欢这里的细节.
我只是看着PYCON 2011:Dropbox的是怎么做的和如何Python的帮助了(当然我完成大部分的零件跳过),但最后真正有趣的东西开始在大约22:23.
演讲者主张在C中制作你的内部循环并且"运行一次"的东西不需要太多的优化(有意义)......然后他继续陈述......释义:
将迭代器的组合传递给任何用于大规模速度改进的组合.
这是代码(希望它是相同的):
import itertools, hashlib, time
_md5 = hashlib.md5()
def run():
for i in itertools.repeat("foo", 10000000):
_md5.update(i)
a = time.time(); run(); time.time() - a
Out[118]: 9.44077205657959
_md5 = hashlib.md5()
def run():
any(itertools.imap(_md5.update, itertools.repeat("foo", 10000000)))
a = time.time(); run(); time.time() - a
Out[121]: 6.547091007232666
Run Code Online (Sandbox Code Playgroud)
嗯,看起来更高的速度改进,我可以得到一个更快的电脑!(从他的幻灯片来看.)
然后他做了一堆挥手而没有真正详细说明为什么.
我已经知道迭代器从回答pythonic方式做N次而没有索引变量?感谢Alex Martelli.
然后我想,我想知道地图是否真的增加了速度提升?我最后的想法是WTF ??? 传递到任何?真???当然,因为文档定义了不能正确任何为: …
我有一个视图,我在表单提交时验证日期和时间,确保日期 + 时间没有过去。日期和时间是两个独立的字段。它有效,但我知道它的错误方式,并且应该在 Django Forms 中验证日期+时间。
这是在我的 view.py
(可能没有以正确的方式完成,但它有效)
my_date = request.session['reservationdate'] #in "mm/dd/yyyy" format
my_time = request.session['reservationtime'] #in "hh:mm" format
my_date_time = (my_date + ' ' + my_time + ':00') #convert to "mm/dd/yyyy hh:mm:ss"
my_date_time = datetime.strptime(my_date_time, '%m/%d/%Y %H:%M:%S') #convert to valid datetime
if datetime.now() <= my_date_time:
#do this
else:
...
Run Code Online (Sandbox Code Playgroud)
现在我的目标是在 Django 表单中有类似上面的内容:
class MyForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['my_date'].required = True
self.fields['my_time'].required = True
...
def clean_my_date(self):
my_date = self.cleaned_data['my_date']
my_time = self.cleaned_data['my_time']
my_date_time …Run Code Online (Sandbox Code Playgroud) 我想为Adobe Muse创建一个小部件,取代Muse自动生成的规范标签.
我知道这对大多数机器人不起作用,因为它们在抓取页面时不会运行任何脚本,但我已经读过Google的机器人在抓取时会运行脚本.
我发现了很多关于如何从链接中替换href的问题,但我似乎无法找到有关替换规范标记的href URL的任何问题.我几乎肯定这是我开始的地方......我只是不知道如何完成它:
<script>
$(document).ready(function() {
$('link[rel=canonical]').attr('href' 'NEW_LINK');
}
</script>
Run Code Online (Sandbox Code Playgroud) 假设我有一堆_data文件用于为特定页面创建列表。具有这些列表的所有页面都有一个自定义的前端变量pageName. pageName恰好的值恰好将_data文件与列表匹配。
我不想将 html 代码块粘贴到每个页面中,而是想使用 aninclude来拉入一个通用的 html 块。要做到这一点,包含必须是动态的,或者包含液态标记才能成为动态的。
这可能比您需要的上下文更多,但我的问题归结为这个,可能是这样的:
{% for item in site.data.{{page.pageName}} %}
{{ item.label }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
除非我遗漏了什么,否则这不起作用,所以我想知道是否有办法实现类似的功能。
我发现了这个类似的问题,但它似乎没有回答是否可以用来访问页面变量来构建文件名。
我正在使用 Google Calendar API,但这适用于他们的任何 API。
我按照他们提供的快速入门示例进行操作,在本地环境中,这效果很好。我面临的主要问题是,在本地环境中,他们提供的代码设置为在需要授权时自动打开 URL 来授权应用程序。在实际环境中情况并非如此,它与这部分代码有关:
flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
Run Code Online (Sandbox Code Playgroud)
但是,我不太明白我应该调用什么。
这是他们提供的完整代码:
from __future__ import print_function
import datetime
import pickle
import os.path
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
# If modifying these scopes, delete the file token.pickle.
SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']
def main():
"""Shows basic usage of the Google Calendar API.
Prints the start and name of the next 10 events on the user's calendar.
"""
creds = …Run Code Online (Sandbox Code Playgroud) 这是我尝试过的。
我已经将我的行设置为根据它们的内容自动调整大小,如果我手动添加标签并手动向所述标签添加约束,这将完美地工作。
override func viewDidLoad() {
tableView.rowHeight = UITableViewAutomaticDimension
tableView.estimatedRowHeight = 100
}
Run Code Online (Sandbox Code Playgroud)
然后我添加标签及其约束,如下所示:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TypeCell", for: indexPath) as UITableViewCell
// Programmatically add a label
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = dataLabels[indexPath.row] // dataLabels is an array of my labels
label.tag = indexPath.row
cell.contentView.addSubview(label)
// Programmatically add constraints
label.topAnchor.constraint(equalTo: cell.contentView.topAnchor, constant: 15).isActive = true
label.bottomAnchor.constraint(equalTo: cell.contentView.bottomAnchor, constant: 15).isActive = true
return cell
}
Run Code Online (Sandbox Code Playgroud)
当我运行项目时,我没有收到任何错误。行的大小似乎与标签的高度一致,并且标签正在响应以编程方式设置的约束,但该行似乎不知道约束存在。这是一个屏幕截图: …
在我的 Django 模型中,我使用clean()方法来验证两组字段的值。我用相同的方法容纳这两个条件clean()。但是我发现系统检查了第一个条件,而忽略了第二个条件。
这是我的模型和字段:
class Rates(models.Model):
master_doc = models.ForeignKey(Origin, ...
exit_rate = models.DecimalField(max_digits=7, decimal_places=2, null=True, blank=True, default=0.00)
from_date = models.DateField(null=True, verbose_name='From date')
to_date = models.DateField(null=True, verbose_name='To date')
def clean(self):
if self.exit_rate <= 0:
raise ValidationError({'exit_rate': _('The exit rate must be more than 0.')})
if self.from_date is not None:
if (self.to_date == self.from_date):
raise ValidationError({'to_date': _('From Date and end date may not be the same.')})
Run Code Online (Sandbox Code Playgroud)
在这种情况下,仅针对第一个 ie 字段引发验证错误exit_rate。如果我颠倒检查的顺序,则仅针对日期字段(而不是费率字段)引发验证错误。
我尝试了这个解决方案并使用error_dict但出现错误 …
我正在开发一个创建基本SEO标签的小部件,这些标签可能已存在于页面上,所以我想确保小部件在生成新标签之前检查现有标签.
例如,窗口小部件生成的标记之一是
<meta name="description" content="Description of the webpage"/>
由于此标记是大多数页面已有的标记,有没有办法在编写之前使用javascript检查标记?
django ×3
python ×3
html ×2
javascript ×2
jquery ×2
forms ×1
google-api ×1
heroku ×1
ios ×1
jekyll ×1
liquid ×1
meta-tags ×1
performance ×1
swift ×1
swift3 ×1
uitableview ×1
validation ×1