小编nob*_*be4的帖子

使用Google Datastudio的Heroku Postgresql

我在将现有的heroku数据库连接到Google Datastudio时遇到了麻烦.我正在尝试添加连接,我得到以下内容:

访问被拒绝,请检查您的用户名和密码.

现在,我100%确定我对这些凭据是正确的,问题来自其他地方.

我尝试过不同的设置,无论是免费还是付费的PSQL实例,都没有用.

我还在elephantsql上设置了一个虚拟帐户,连接第一次没有任何问题.

你对这个问题的原因有什么看法吗?

编辑:

刚刚找到https://www.en.advertisercommunity.com/t5/Data-Studio/Heroku-Postgres-lt-gt-Google borrow-Studio/mp/ 1031729,在撰写本文时没有用.

postgresql heroku google-data-studio

15
推荐指数
2
解决办法
3824
查看次数

Sublime Text 3 API:从文件中获取所有文本


我正在尝试为sublime text 3创建一个插件.
现在我只能选择窗口中的所有文本并将其复制到另一个窗口中.
代码:

import sublime, sublime_plugin

class PrintCodeCommand(sublime_plugin.WindowCommand):
    def run(self):
        # for each caracter, add it to a string with the substr method
        s = ""
        for x in range(0,self.window.active_view().size()):
            s += self.window.active_view().substr(x)
        newFile = self.window.new_file()
        newFile.run_command("test",{"textBuffer": s})

class Test(sublime_plugin.TextCommand):
    def run(self, edit, textBuffer):
        self.view.insert(edit, 0, textBuffer)
Run Code Online (Sandbox Code Playgroud)

你知道更好/更简单的方法吗?
谢谢!

python select text sublimetext3 sublime-text-plugin

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

运行Sublime Text 3插件时保存编辑

要了解我想要实现的目标:在另一个视图中打印延迟文本...

我正在尝试使这个崇高的文本3插件正常运行我想使用我的run方法的参数传递的编辑调用我的类的多个方法,如下所示:

# sample code, nothing real
class MyCommandClass(sublime_plugin.TextCommand):
    myEdit = None
    def run(self, edit):
        self.myEdit = edit
        # stuff
        self.myMethod()

    def myMethod(self):
        # use self.myEdit ...
Run Code Online (Sandbox Code Playgroud)

我尝试稍后在另一个方法上使用它,但是当我执行插件时,我收到此错误:
ValueError: Edit objects may not be used after the TextCommand's run method has returned

据我所知,编辑对象的所有使用必须在返回run命令之前.在我玩的时候set_timeout,情况可能并非如此......那我该怎么办?

提前致谢.

python sublimetext3 sublime-text-plugin

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

保存本地日期时间将时间偏移 4 分钟

我正在尝试通过以下方式在保存和加载时根据时区修改日期时间:

输入日期时间以及输入时区被发送到服务器,服务器应更新日期时间以反映时区。所以当它保​​存在数据库(PostregSQL)中时,保存的是UTC时间(当然是在时区引起的偏移之后)。

为了反映这一点,这里有一个以相同方式失败的简单示例:

一些进口:

>>> import datetime
>>> import pytz
>>> from apps.myapp.models import Project
Run Code Online (Sandbox Code Playgroud)

创建两个输入:

>>> input_date = timezone.now()
>>> input_date
datetime.datetime(2017, 2, 7, 16, 7, 14, 377429, tzinfo=<UTC>)
>>> current_tz = pytz.timezone('America/New_York')
>>> current_tz
<DstTzInfo 'America/New_York' LMT-1 day, 19:04:00 STD>
Run Code Online (Sandbox Code Playgroud)

如您所见,时区不是5h( 24 - 19 = 5),而是4h56. 在这个阶段我认为没关系,它可能与夏令时有关。

现在我正在替换输入日期的时区:

>>> input_date = input_date.replace(tzinfo=current_tz)
>>> input_date
datetime.datetime(2017, 2, 7, 16, 7, 14, 377429, tzinfo=<DstTzInfo 'America/New_York' LMT-1 day, 19:04:00 STD>)
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,时间没有改变,但时区改变了,这很好。

我将这个值分配给一个项目(launch_date是一种DateTimeField没有任何具体的选项): …

python django timezone python-datetime

8
推荐指数
1
解决办法
1699
查看次数

django迁移中的顺序

我们正在开发一个Web应用程序,它有一个中央应用程序,以及我们最后添加的新应用程序.

迁移顺序如下:

contenttypes 0001 
contenttypes 0002

auth         0001
...
auth         0006

main_app     0001
...
main_app     0045
Run Code Online (Sandbox Code Playgroud)

添加新应用后,迁移的顺序如下:

contenttypes 0001
auth         0001
main_app     0001
...
main_app     0045
contenttypes 0002
auth         0002
...
auth         0006
new_app      0001
Run Code Online (Sandbox Code Playgroud)

有几点值得注意:

  1. new_app.0001 迁移具有依赖关系(按此顺序):

    auth.0006
    main_app.0045
    
    Run Code Online (Sandbox Code Playgroud)

    并且只为用户创建一个外键.

  2. auth.0004 迁移更新用户名,最大长度为30

  3. my_app.0012udpate user.username字段的长度为255(通过一些AlterField衍生类)

因此,由于运行迁移的顺序,如果没有new_app,则生成的user.username长度为30而不是255.

在初始my_app迁移中,我们具有以下依赖关系:

migrations.swappable_dependency(settings.AUTH_USER_MODEL)
Run Code Online (Sandbox Code Playgroud)

(当您更改默认的django用户模型时似乎需要).

问题是: 为什么迁移的顺序会发生变化?怎么预防呢?

注意:我们确实通过在my_app初始迁移中添加依赖项来找到一种"hacky"方法来防止这种情况:

migrations.swappable_dependency(settings.AUTH_USER_MODEL),
auth.0006
Run Code Online (Sandbox Code Playgroud)

但我们认为这不是一个可行的解决方案,所以我们正在寻找一个更好的解决方案.

python django dependencies database-migration

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

调用Django i18n makemessages命令时出现UnicodeError错误

我正在使用Django的国际化功能来为webapp生成翻译字符串.

一个问题是情况下产生我尝试打电话makemessages,和现有的语言.po文件包含特殊字符(如$,£等).

如果其中一个存在,makemessages会尝试加载现有.po文件并对其进行解码.当它这样做时,我收到一个错误:

Traceback (most recent call last):
 File "manage.py", line 18, in <module>
   execute_from_command_line(sys.argv)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
   utility.execute()
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 346, in execute
   self.fetch_command(subcommand).run_from_argv(self.argv)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 394, in run_from_argv
   self.execute(*args, **cmd_options)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 445, in execute
   output = self.handle(*args, **options)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/makemessages.py", line 325, in handle
   self.write_po_file(potfile, locale)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/makemessages.py", line 458, in write_po_file
   msgs, errors, status = gettext_popen_wrapper(args)
 File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/makemessages.py", line 51, …
Run Code Online (Sandbox Code Playgroud)

python django translation utf-8

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

带有变量django模板的动态URL

我正在尝试根据页面列表构建动态的URL列表.

在我的urls.py中,整个应用程序位于命名空间后面base:

urlpatterns = patterns('',
    url(r'^(?P<pk>[\w]+)/title/$', TitleSection.as_view(), name='title'),
    url(r'^(?P<pk>[\w]+)/amount/$', AmountSection.as_view(), name='amount'),
    url(r'^(?P<pk>[\w]+)/description/$', DescriptionSection.as_view(), name='description'), )
Run Code Online (Sandbox Code Playgroud)

在我的context数据中,我有以下列表:

sections: ['title', 'amount', 'description']
Run Code Online (Sandbox Code Playgroud)

我正在尝试为部分中的每个元素构建URL.

我尝试了以下方法:

{% for section in sections %}
    <a href="{% url "base:"+section pk=object.id %}">..</a>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

无法解析余数:'+ base'来自''base:"+ section'

然后我尝试了:

<a href="{% url "base:{{section}}" pk=project.id %}">{{ section }}</a>
Run Code Online (Sandbox Code Playgroud)

错误:

使用参数'()'和关键字参数'{u'pk':77}'找不到'{{section}}'的反转.尝试过0种模式:[]

你知道怎么做吗?

python django django-urls django-views

5
推荐指数
2
解决办法
6474
查看次数

Django queryset group by和count的区别

在我的django应用程序中,我有一组捐款,我想对其进行统计.对于每次捐赠,一个人与他的电子邮件地址相关联.

我想计算每个月的捐赠者数量,即唯一的电子邮件地址数量.

到目前为止,我有:

# filter all donations by month
truncate_date = connection.ops.date_trunc_sql('month', 'date')
qs = Donation.objects.extra({'month': truncate_date})

# group by months and annotate each with the count of emails
donors = qs.values('month').annotate(count=Count('email')).order_by('month')
Run Code Online (Sandbox Code Playgroud)

这很好,我得到了所有电子邮件捐赠者的月度报告,但由于我在电子邮件中有重复,它不会按唯一值过滤电子邮件.

使用的当前数据库是Postgresql.

怎么做到这一点?

python django django-models django-queryset

5
推荐指数
1
解决办法
347
查看次数

Django查询,平均计数不同

我有一个Donation模型定义为:

Donation
    project = models.ForeignKey(Project)
    user = models.CharField()
Run Code Online (Sandbox Code Playgroud)

每个用户可以为任何项目捐赠多个时间,因此在db中,我可以拥有以下内容:

 Donation
-------------------
 project | user
-------------------
 1       |  A
 2       |  A
 3       |  A
 1       |  B
 2       |  B
 2       |  C
Run Code Online (Sandbox Code Playgroud)

现在,我需要计算每个用户的不同项目的平均值,在这种情况下,它将是:

A: 3
B: 2
C: 1
=> ( 3 + 2 + 1 ) / 3 = 2
Run Code Online (Sandbox Code Playgroud)

我到目前为止有以下内容:

distinct_pairs = Donation.objects.order_by('project')
         .values('user', 'project')
         .distinct()
Run Code Online (Sandbox Code Playgroud)

这给了我一个可以在python中使用的非重复project/ user对列表。

我想知道是否有query-only办法做到这一点?

我的设置:

  • 的Django 1.8
  • PostgreSQL的

python django postgresql django-models django-queryset

4
推荐指数
1
解决办法
1199
查看次数

将 set_timeout 与 Sublime Text 3 API 一起使用

我正在尝试在插件中使用(如标题所示)sublime text 3 的 set_timeout 函数。
据我了解,在许多情况下需要使用 lambda 函数。所以我尝试了这个简单的测试:

class SetTimeoutTestCommand(sublime_plugin.WindowCommand):
    def run(self):
        for x in range(1,10):
            sublime.set_timeout(lambda : print(x), 4000)
Run Code Online (Sandbox Code Playgroud)

所以我希望我一次打印一个数字,每个数字之间有 4 秒的延迟。如 Sublime 3 API 中所述:

在给定的延迟(以毫秒为单位)后在主线程中运行回调。具有相同延迟的回调将按添加顺序运行。

但相反,我有 9 '9' 在 4 秒后打印。因此,基于循环的第一次迭代,同时打印所有 '9'。
你知道我能做些什么来解决这个问题吗?

提前致谢 !

编辑:我发现这是有效的(嗯,打印 '9' 9 次,每个之间有 1 秒的延迟:

class SetTimeoutTestCommand(sublime_plugin.WindowCommand):
    def run(self):
        for x in range(1,10):
            sublime.set_timeout(lambda : print(x), x*1000)
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在:它只打印出 '9' ....

python settimeout sublimetext3 sublime-text-plugin

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

Django 在 admin 中覆盖管理器

我有一个使用自定义管理器的模型:

class ProjectManager(models.Manager):
    def get_queryset(self):
        return super(ProjectManager, self).get_queryset() \
            .exclude(archived_date__isnull=False)


class Project(models.Model):
    objects = ProjectManager()
    archived_date = models.DateTimeField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

但我还没有找到一种方法来显示管理中的所有项目。

我的管理员定义如下:

class ProjectAdmin(admin.ModelAdmin):
    model = Project
Run Code Online (Sandbox Code Playgroud)

get_queryset我尝试在课堂上使用ProjectAdmin,但我无法找到恢复所有项目的方法。

你知道怎么做吗?

django model django-admin

0
推荐指数
1
解决办法
1619
查看次数

Vim从字符到行尾删除

我试图想出一些东西,它会从给定角色开始删除所有文本到行尾.

例如,在下面的示例中,我想只保留IP地址:

192.168.2.121/32 -m comment --comment "blah blah bye bye"  -j DROP
10.1.3.207 -m comment --comment "much longer comment with all kinds of stuff" -j DROP
172.16.1.0/24 -m comment --comment "Drop this range" -j DROP
Run Code Online (Sandbox Code Playgroud)

要删除的模式是-m,即从左侧读取,遇到第一个" - ".从" - "到行尾应该删除文件中的每一行.

我对这一个感到困惑,指导将不胜感激.

vim

0
推荐指数
4
解决办法
4561
查看次数