一位朋友正在编写一个广告脚本,用于在HTML代码中放置选定短语的链接.
当然,如果短语已经在一个<a>元素内(或另一个不允许它的元素 - 就像在元素的属性中找到短语一样),他不希望脚本写出一个链接,因为它会破坏验证.
他问我的想法.在经历了一些笨拙的事后,我问你所想的一切.
只是为了澄清,输入是HTML中的整篇博客文章.例:
<p>This is a short blog post about ponies!</p>
<p>I have <a href="/ponies">written about ponies before</a>.</p>
<p><img src="/media/ponies.jpg" /></p>
Run Code Online (Sandbox Code Playgroud)
对于这个例子,假设我想ponies用<a href="http://www.ponies.com">ponies</a>(但是用原始情况)替换(任何情况).
上面的输出应为:
<p>This is a short blog post about <a href="http://www.ponies.com">ponies</a>!</p>
<p>I have <a href="/ponies">written about ponies before</a>.</p>
<p><img src="/media/ponies.jpg" /></p>
Run Code Online (Sandbox Code Playgroud)
我们不需要完整的代码,但非常欢迎好的想法/正则表达.他用PHP写这个,但语言中立很好.
我做了一个想象中的管理应用程序update.以下工作正常从命令行:
./manage.py update
/full/path/manage.py update
Run Code Online (Sandbox Code Playgroud)
但是当我有以下cron命令时:
00 */3 * * * /websites/bnc/manage.py update >/dev/null
Run Code Online (Sandbox Code Playgroud)
它通过电子邮件发送给我错误:
未知命令:'update'
输入'manage.py help'以供使用.
它闻起来像路径问题,但我看不出怎么样,因为我可以从任何地方手动调用它.知道这里发生了什么吗?
我有一个非常大的数据集,需要尽快更新。我进行了计算,最后列出了需要更新的内容:
\n\nupdates = [(instance_pk, value_to_update), (instance_pk, value_to_update), ..]\nRun Code Online (Sandbox Code Playgroud)\n\n模型始终相同,更新的列也是如此。
\n\n过去我使用过 Django Bulk Update \xe2\x80\x94 并且我相当确定我可以在这里 \xe2\x80\x94 但即使这样也太过强大(因此做了太多的处理,因为它处理完整的实例)对于如此简单的写作,我需要快速完成。我有没有提到速度在这里很重要?
\n\nDjango 提供什么吗可以使这变得更容易而无需编写原始 SQL 的东西?
\n\nPostgreSQL 10 是数据库(如果相关的话)。
\n\n我已经测试了原始 SQL,它的性能是可以预见的,但它看起来是这样的,所以你很清楚我想在 Django 中做什么。
\n\nwith connection.cursor() as c:\n c.executemany(\n 'UPDATE app_model SET column_a = %s WHERE id = %s',\n [(value_to_update, instance_pk), ...]\n )\nRun Code Online (Sandbox Code Playgroud)\n\n可能有比执行许多更有效的 SQL(我认为这会抛出许多查询)。
\n就我而言,我有一些来自表单的列名.我想过滤以确保它们都是真的.这是我目前的做法:
for op in self.cleaned_data['options']:
cars = cars.filter((op, True))
Run Code Online (Sandbox Code Playgroud)
现在它可以工作,但是有可能有大约40列要测试,因此保持查询效率不高.
有没有办法可以将它压缩成一个过滤查询?
我有一个方法:
def do_something(year=?, month=?):
pass
Run Code Online (Sandbox Code Playgroud)
我希望year和month参数是可选的,但我希望它们的默认值等于当前年份和月份.我已经考虑过在方法声明之前设置两个变量,但是这个过程可以运行几个月.它需要是动态的.
看起来它应该不难,但我今天有心理障碍所以你会怎么做?
看起来它应该足够简单,但它正在推动我的问题.我看过python日期格式化字符串,它仍然没有多大意义.
这是我正在尝试做的事情: <Full day>, <Day of month><Ordinal> <Month>
凡<Ordinal>为st,nd,rd,th,等根据一天.
给定包含某个文件(在本例中为 Word 文档)的 url,读取该文档的内容。我见过几个如何从本地文档中提取文本而不是从 URL 中提取文本的示例。来自 http 地址的地址与来自 ftp 地址的地址相同吗?
from urllib.request import urlopen
url = 'ftp://path/to/file.docx'
txt = urlopen(url).read()
Run Code Online (Sandbox Code Playgroud)
文本的值为:
b'PK\x03\x04\x14\x00\x06\x00\x08\x00\x00\x00!\x00\xdd\xfc\x957f\x01\x00\x00 \x05\x00\x00\x13\x00\x08\x02[Content_Types].xml \xa2\x04\x02(\xa0\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 ...'
Run Code Online (Sandbox Code Playgroud)
我尝试解码
txt.decode("utf-8", "ignore")
Run Code Online (Sandbox Code Playgroud)
但这会返回,PK ...后面跟着其他奇怪的字符
保存文档然后对其进行处理的选项不可行。
我究竟做错了什么?
相当奇怪的请求,我敢肯定,但是给定一个Jquery选择器,我可以得到一个项目(及其子项)的原始HTML,以便我可以,例如,将该HTML的转义版本放回页面上吗?
我很高兴逃避,我只是不知道如何从对象返回HTML.
如果有一个简单的DOM标准方式也可以这样做,我对此感到高兴.
编辑以解决"哦,为什么你不只是谷歌那个":谷歌它.您将获得Jquery .html(),它将为您提供对象的内部HTML.例如,我们说你有:
<div id="pants">naughty bits</div>
Run Code Online (Sandbox Code Playgroud)
.html()只会回来naughty bits.而我正在寻找的输出是<div id="pants">naughty bits</div>