我在将现有的heroku数据库连接到Google Datastudio时遇到了麻烦.我正在尝试添加连接,我得到以下内容:
访问被拒绝,请检查您的用户名和密码.
现在,我100%确定我对这些凭据是正确的,问题来自其他地方.
我尝试过不同的设置,无论是免费还是付费的PSQL实例,都没有用.
我还在elephantsql上设置了一个虚拟帐户,连接第一次没有任何问题.
你对这个问题的原因有什么看法吗?
编辑:
刚刚找到https://www.en.advertisercommunity.com/t5/Data-Studio/Heroku-Postgres-lt-gt-Google borrow-Studio/mp/ 1031729,在撰写本文时没有用.
我正在尝试为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)
你知道更好/更简单的方法吗?
谢谢!
要了解我想要实现的目标:在另一个视图中打印延迟文本...
我正在尝试使这个崇高的文本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
,情况可能并非如此......那我该怎么办?
提前致谢.
我正在尝试通过以下方式在保存和加载时根据时区修改日期时间:
输入日期时间以及输入时区被发送到服务器,服务器应更新日期时间以反映时区。所以当它保存在数据库(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
没有任何具体的选项): …
我们正在开发一个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)
有几点值得注意:
new_app.0001
迁移具有依赖关系(按此顺序):
auth.0006
main_app.0045
Run Code Online (Sandbox Code Playgroud)
并且只为用户创建一个外键.
auth.0004
迁移更新用户名,最大长度为30
my_app.0012
udpate 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)
但我们认为这不是一个可行的解决方案,所以我们正在寻找一个更好的解决方案.
我正在使用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) 我正在尝试根据页面列表构建动态的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种模式:[]
你知道怎么做吗?
在我的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.
怎么做到这一点?
我有一个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
办法做到这一点?
我的设置:
我正在尝试在插件中使用(如标题所示)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' ....
我有一个使用自定义管理器的模型:
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
,但我无法找到恢复所有项目的方法。
你知道怎么做吗?
我试图想出一些东西,它会从给定角色开始删除所有文本到行尾.
例如,在下面的示例中,我想只保留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
,即从左侧读取,遇到第一个" - ".从" - "到行尾应该删除文件中的每一行.
我对这一个感到困惑,指导将不胜感激.
python ×9
django ×7
sublimetext3 ×3
postgresql ×2
dependencies ×1
django-admin ×1
django-urls ×1
django-views ×1
heroku ×1
model ×1
select ×1
settimeout ×1
text ×1
timezone ×1
translation ×1
utf-8 ×1
vim ×1