小编Eld*_*mir的帖子

格式化日期时间为YYYY-MM-DD HH:mm:ss in moment.js

我有一个这种格式的字符串:

var dateTime = "06-17-2015 14:24:36"
Run Code Online (Sandbox Code Playgroud)

我正在使用moment.js而我正在尝试将其转换为YYYY-MM-DD HH:mm:ss- > 2015-06-17 14:24:36.

我试过这种方法

dateTime = moment( dateTime, 'MM-DD-YYYY HH:mm:ss',true).format("YYYY-MM-DD HH:mm:ss");
Run Code Online (Sandbox Code Playgroud)

但是将dateTime作为无效日期.

datetime momentjs

78
推荐指数
2
解决办法
16万
查看次数

BeautifulSoup - 在标签内按文字搜索

请注意以下问题:

import re
from bs4 import BeautifulSoup as BS

soup = BS("""
<a href="/customer-menu/1/accounts/1/update">
    Edit
</a>
""")

# This returns the <a> element
soup.find(
    'a',
    href="/customer-menu/1/accounts/1/update",
    text=re.compile(".*Edit.*")
)

soup = BS("""
<a href="/customer-menu/1/accounts/1/update">
    <i class="fa fa-edit"></i> Edit
</a>
""")

# This returns None
soup.find(
    'a',
    href="/customer-menu/1/accounts/1/update",
    text=re.compile(".*Edit.*")
)
Run Code Online (Sandbox Code Playgroud)

出于某种原因,当<i>标签存在时,BeautifulSoup将不匹配文本.查找标签并显示其文本

>>> a2 = soup.find(
        'a',
        href="/customer-menu/1/accounts/1/update"
    )
>>> print(repr(a2.text))
'\n Edit\n'
Run Code Online (Sandbox Code Playgroud)

对.根据Docs,汤使用正则表达式的匹配函数,而不是搜索函数.所以我需要提供DOTALL标志:

pattern = re.compile('.*Edit.*')
pattern.match('\n Edit\n')  # Returns None

pattern = re.compile('.*Edit.*', flags=re.DOTALL)
pattern.match('\n Edit\n')  # …
Run Code Online (Sandbox Code Playgroud)

python regex beautifulsoup

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

Django找到测试但无法导入它们

我得到了奇怪的错误,在那里打电话./manage.py test会发现我的测试,但抱怨他们无法导入.

版本

Python 3.4

Django 1.7b4

我的文件结构

看起来像这样(只是相关的位):

inkasso
??? db.sqlite3
??? functional_tests
?   ??? base.py
?   ??? base.pyc
?   ??? __init__.py
?   ??? __init__.pyc
?   ??? __pycache__
?   ??? test_login.py
?   ??? test_login.pyc
??? __init__.py
??? inkasso
?   ??? __init__.py
?   ??? __init__.pyc
?   ??? migrations
?   ??? models.py
?   ??? settings.py
?   ??? settings.pyc
?   ??? urls.py
?   ??? wsgi.py
??? manage.py
??? static
?   ??? ...
??? templates
?   ??? ...
??? web
    ??? …
Run Code Online (Sandbox Code Playgroud)

python testing django

15
推荐指数
1
解决办法
5403
查看次数

Django干草堆飞快超级慢

我有一个简单的设置与django-haystack和嗖嗖引擎.搜索产生19个物体花了我8秒钟.我用django-debug-toolbar确定我有一堆重复的查询.

然后我将我的搜索视图更新为预取关系,以便不会发生重复查询:

class MySearchView(SearchView):
    template_name = 'search_results.html'
    form_class = SearchForm
    queryset = RelatedSearchQuerySet().load_all().load_all_queryset(
        models.Customer, models.Customer.objects.all().select_related('customer_number').prefetch_related(
            'keywords'
        )
    ).load_all_queryset(
        models.Contact, models.Contact.objects.all().select_related('customer')
    ).load_all_queryset(
        models.Account, models.Account.objects.all().select_related(
            'customer', 'account_number', 'main_contact', 'main_contact__customer'
        )
    ).load_all_queryset(
        models.Invoice, models.Invoice.objects.all().select_related(
            'customer', 'end_customer', 'customer__original', 'end_customer__original', 'quote_number', 'invoice_number'
        )
    ).load_all_queryset(
        models.File, models.File.objects.all().select_related('file_number', 'customer').prefetch_related(
            'keywords'
        )
    ).load_all_queryset(
        models.Import, models.Import.objects.all().select_related('import_number', 'customer').prefetch_related(
            'keywords'
        )
    ).load_all_queryset(
        models.Event, models.Event.objects.all().prefetch_related('customers', 'contracts', 'accounts', 'keywords')
    )
Run Code Online (Sandbox Code Playgroud)

但即便如此,搜索仍需要5秒钟.然后我使用了profiler django-debug-toolbar,它给了我这个信息:

Django调试工具栏分析器结果

据我所知,问题在于haystack/query:779::__getitem__,它被击中两次,每次耗费1.5秒.我浏览过有问题的代码,但无法理解它.那么我从哪里开始呢?

python django profiling whoosh django-haystack

13
推荐指数
1
解决办法
967
查看次数

Django的标签选择表单字段

我正在使用ModelForms为网站制作表单,但我想要更多地控制选择框中显示的文本.

示例模型可能如下所示

class Test(models.Model)
    ID = IntegerField()
    Label = CharacterField()
    recipient = ForeignKey(Person)
    product = ForeignKey(Product)
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,当我创建这个模型的modelForm时,外键字段被制作成选择字段,其中底层值具有对象的主键,显示的文本是来自对象__unicode__()方法的文本.在这种情况下,仅显示产品ID(这是一个序列号,这对用户没有意义).我希望能够制作一个自定义标签,如"[serial],[product name]".

我似乎无法找到官方Django文档的任何指针,所以我想知道是否有人会帮助?:)

python forms django select labels

9
推荐指数
1
解决办法
2133
查看次数

Python3 Django - > HTML到PDF

从python2中的django网页生成pdf有很多种不同的方法.最干净的可能是比萨和报告.但这些对python3不起作用.

到目前为止,我唯一成功的方法是渲染模板,将其写入文件,然后通过subprocess.popen使用wkhtmltopdf.这可以正常工作,但它不会加载任何我的静态文件,如CSS和图像.

有没有合适的解决方案?可以wkhtmltopdf从命令行读取我的静态文件,在某种程度上,还是像pisa/reportlab这样的库,它支持python3?

我无法找到这样的图书馆

python pdf django html-to-pdf

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

Apache:代理URL中指定的unix套接字

我正在构建一个设置,其中一个主机运行一堆Docker容器来测试不同的代码分支,我想访问容器中正在运行的webserver.

所有容器都在运行host.每个容器通过主机上的unix插槽服务于web应用程序,例如/var/sockets/<socket_name>.

我想要的是apache on host基于url代理容器,所以当我GET https://<host>.com/<socket_name>/my_url,apache代理<socket_name>请求时:GET https://<host>.com/my_url.也就是说,它识别url中的套接字名称,重写url并将其发送到该套接字.

这可能吗?我仍在阅读文档,但似乎找不到任何提示

unix sockets apache proxy

7
推荐指数
1
解决办法
2122
查看次数

转译在浏览器中使用的打字稿

我正在尝试在 Typescript 中编写我的前端代码并希望导出代码,我的浏览器可以在 <script src="..."></script>.

我是通过 browserify 和 tsify 这样做的。我的问题是我的代码不能在全局命名空间中访问。将脚本加载到<script>标签中会执行它,当然,但是如果我打算像可以在 inline <script>s 或类似中使用的函数库一样加载它怎么办?

更新

一个例子是

索引.ts

function foo(): void {
    console.log("bar");
}
Run Code Online (Sandbox Code Playgroud)

使用以下 conf 编译会产生以下 javascript

配置文件

{
    "compilerOptions": {
        "module": "UMD",
        "target": "es5",
        "noImplicitAny": true,
        "removeComments": true,
        "preserveConstEnums": true,
        "sourceMap": true
    }
}
Run Code Online (Sandbox Code Playgroud)

索引.js

function foo() {
    console.log("bar");
}
Run Code Online (Sandbox Code Playgroud)

这可以。但是,如果 index.js 导入了一些东西,例如我的notification函数,那么我会得到这个

(function (factory) {
    if (typeof module === 'object' && typeof module.exports === 'object') {
        var v = factory(require, exports); if (v …
Run Code Online (Sandbox Code Playgroud)

javascript browserify typescript

7
推荐指数
1
解决办法
7176
查看次数

Django查询两次返回相同的对象

通用的例子.当我这样做一个查询

a = MyObject.objects.filter(...)
Run Code Online (Sandbox Code Playgroud)

a将包含过滤器匹配的所有内容.当我这样做时:

a.filter(...)
Run Code Online (Sandbox Code Playgroud)

a只包含与两个过滤器匹配的对象,对吧?所以在第一个filter()之后,我可能有5个元素,然后在第二个filter()之后我可能剩下5个中的2个?

我的一个查询得到了奇怪的结果.以下查询:

>>> Item.objects.filter(account__in=Account.objects.filter(customer=a), disabled=False)
[<Item: PSN-100396>]
Run Code Online (Sandbox Code Playgroud)

这产生了一个结果.请记住,100396是主键,因此只有一个具有此idnetifier的Item.现在,当我应用一个额外的过滤器时,该过滤器应仅显示已禁用的发票上的项目或没有发票:

>>> Item.objects.filter(account__in=Account.objects.filter(customer=a), disabled=False).filter(Q(iteminv__invoice__disabled=False) | Q(iteminv__isnull=True))
[<Item: PSN-100396>, <Item: PSN-100396>]
Run Code Online (Sandbox Code Playgroud)

我用同一个对象得到这个结果两次......这怎么可能?我误解了什么吗?

将它全部放在一个filter()中会产生相同的奇怪输出:

>>> Item.objects.filter(Q(account__in=Account.objects.filter(customer=a)), Q(disabled=False), Q(iteminv__invoice__disabled=False) | Q(iteminv__isnull=True))
[<Item: PSN-100396>, <Item: PSN-100396>]
Run Code Online (Sandbox Code Playgroud)

Django版本1.6.2

mysql django filter duplicates

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

Python 如果 x 作为 y

我经常发现自己在做一些愚蠢的事情,比如

if some_function():
    self.value = some_function()
Run Code Online (Sandbox Code Playgroud)

这使得该函数执行两次。它将通过类似的方式纠正

value = some_function():
if value:
    self.value = value
Run Code Online (Sandbox Code Playgroud)

如果 Python 允许类似的事情那就太棒了

if some_function() as value:
    self.value = value
Run Code Online (Sandbox Code Playgroud)

节省了一些空间,而且非常清晰。我什至会说它看起来像Pythonic。

所以,我知道这不是有效的语法,但是是否有我不知道的类似构造?值得向 Python 软件基金会建议吗?

python syntax if-statement

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