小编Rya*_*ght的帖子

使用docker将django应用程序部署到heroku时在哪里运行collectstatic?

我正在使用 Docker 将 Django 应用程序部署到 Heroku。当我放入RUN manage.py collectstatic --noinputDockerfile 时,它​​失败了,因为没有为环境变量设置值DJANGO_SECRET_KEY。我的理解是,这是因为在构建期间配置变量不可用。

当我将 collectstatic 作为发布命令运行时,它可以正常工作,并成功复制静态文件。但是,当我点击应用程序 url 时,它返回 500 错误,因为找不到静态文件。我相信这是因为 release 命令在临时文件系统上作为 dyno 运行,因此找不到复制的文件。

这似乎是一个catch-22。将 collectstatic 放入 Dockerfile 失败,因为没有可用的配置变量,但将其作为发布命令失败,因为只保存了构建阶段的文件更改?

该怎么办?

这是我在 settings.py 中的 collectstatic 设置


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'whitenoise.middleware.WhiteNoiseMiddleware',
    ...
]
...
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
STATICFILES_STORAGE = 'backend.storage.WhiteNoiseStaticFilesStorage'
Run Code Online (Sandbox Code Playgroud)

文件

# Pull base image
FROM python:3.7-slim

# Set environment varibles
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work …
Run Code Online (Sandbox Code Playgroud)

django heroku static-files docker

19
推荐指数
2
解决办法
5817
查看次数

获取通过R中的管道传递的数据帧的名称

我希望能够打印通过管道传递的数据帧的名称.这可能吗?我可以.

printname <- function(df){
    print(paste(substitute(df)))
}
printname(mtcars)
#[1] "mtcars"
Run Code Online (Sandbox Code Playgroud)

但是,它返回"." 当使用管道管道此功能时magrittr.

mtcars %>% printname
# [1] "."
Run Code Online (Sandbox Code Playgroud)

在编写已记录的生产过程中使用的函数的自定义错误消息时,这将非常有用 - 如果日志中唯一的内容是".",则很难知道哪些内容失败了.

它可能足以返回原始调用,其中包括该mtcars %>%部分.

r dplyr magrittr

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

用于降价的R中类似Tableau的分组表

我经常发现自己使用dplyr在R中计算摘要统计信息,然后将结果写入csv并将其加载到Tableau中以生成表格,因为Tableau的表格非常简单易用.我宁愿直接在R中生成表格.

R中的分组表有一个简单的解决方案吗?

生成我想要的数据非常容易:

library(tidyr)
library(dplyr)

summary_table <- iris %>% 
  gather(measure, value, -Species) %>% 
  separate(measure, into=c("attribute", "dimension")) %>% 
  group_by(Species, attribute, dimension) %>% 
  summarise(mean=mean(value))

summary_table

Source: local data frame [12 x 4]
Groups: Species, attribute [?]

      Species attribute dimension  mean
       <fctr>     <chr>     <chr> <dbl>
1      setosa     Petal    Length 1.462
2      setosa     Petal     Width 0.246
3      setosa     Sepal    Length 5.006
4      setosa     Sepal     Width 3.428
5  versicolor     Petal    Length 4.260
6  versicolor     Petal     Width 1.326
7  versicolor     Sepal    Length 5.936
8  versicolor     Sepal …
Run Code Online (Sandbox Code Playgroud)

r pandoc knitr r-markdown

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

R- 如何将 html 格式添加到与blastula一起使用的表格中?

Blastula 似乎不尊重表格格式化包(如和 )<style>使用的标签。kableextraformattable

例子:

library(kableExtra)
library(blastula)

dt <- mtcars[1:5, 1:6]

tbl <- dt %>%
  kbl() %>%
  kable_styling()

tbl

compose_email(
  body = md(c(
    "this is my table:",
    tbl
    )))
Run Code Online (Sandbox Code Playgroud)

打印 tbl 时显示此内容

在此输入图像描述

但是打印的时候是这样compose_email

在此输入图像描述

我认为这是因为blastula只是打印表格,并且kableextra格式在其他地方使用class

tbl <- dt %>%
  kbl("html")

tbl_styled <- tbl %>%
  kable_styling()

as.character(tbl)
as.character(tbl_styled)
Run Code Online (Sandbox Code Playgroud)

这表明打印样式表时唯一的区别是标签<table>

<table class=\"table\" style=\"margin-left: auto; margin-right: auto;\">
Run Code Online (Sandbox Code Playgroud)

所以我想唯一的方法是编写我们自己的表解析器来将样式内联?除非已经有一个 R 包可以做到这一点?

html r formattable kableextra blastula

5
推荐指数
0
解决办法
897
查看次数