我正在将 Poetry 与 Tox 结合起来以自动化构建和测试。然而,我正在从事的项目是私有的,我希望避免任何从事该项目的人意外地将其发布到 PyPi。我已经使用初始化了一个项目poetry init,我的假设是最终的设置不会产生一个可以在没有任何进一步设置的情况下发布的可行包。它是否正确?
我如何进一步配置诗歌,以便即使poetry publish将来有人意外运行该包也不会真正发布。
我刚刚开始搞乱基于类的视图,我希望能够从我的类中的URL访问变量.但是我很难让这个工作.我看到了一些答案,但它们都很短暂,我发现它们没有任何帮助.
基本上我有一个网址
url(r'^(?P<journal_id>[0-9]+)/$',
views.Journal_Article_List.as_view(),
name='Journal_Page'),
Run Code Online (Sandbox Code Playgroud)
然后我想ListView用来显示特定期刊中的所有文章.然而,我的文章表通过a链接到日志表journal_id.所以我最终做了以下事情
class Journal_Article_List(ListView):
template_name = "journal_article_list.html"
model = Articles
queryset = Articles.objects.filter(JOURNAL_ID = journal_id)
paginate_by = 12
def get_context_data(self, **kwargs):
context = super(Journal_Article_List, self).get_context_data(**kwargs)
context['range'] = range(context["paginator"].num_pages)
return context
Run Code Online (Sandbox Code Playgroud)
但是,journal_id不像函数视图那样传递.从我在上面阅读的主题中可以找到我可以使用的变量访问变量
self.kwargs['journal_id']
Run Code Online (Sandbox Code Playgroud)
但我有点迷失在我应该如何做到这一点上.我已经在类中直接尝试了它,它让我知道self不存在或者通过覆盖get_queryset,在这种情况下它告诉我as_view()只接受已经是类的属性的参数.
我正在使用一个名为 matplotlib 的包根据用户输入创建一些图表。创建这些图表可以像这样完成
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
some_plot = plt.figure()
Run Code Online (Sandbox Code Playgroud)
此外,还可以将这些图形保存为图像,
some_plot.savefig(path, format='png')
Run Code Online (Sandbox Code Playgroud)
问题是我并不是真的想保存每个用户生成的图表,而是只想显示它们。我试图寻找一些相关问题的解决方案。其中一种解决方案是使用 IoBytes。沿着这些答案我得到类似的东西
from io import BytesIO
some_plot_io = BytesIO()
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
some_plot = plt.figure()
some_plot.savefig(some_plot_io, format='png')
Run Code Online (Sandbox Code Playgroud)
是否可以以某种方式将 BytesIO 对象传递给模板并提供图像,或者此方法不起作用?还有其他方法可以做到这一点吗?