如何在django上使用Daphne 2.0提供静态媒体

时间:2018-02-09 20:11:11

标签: django apache http django-channels daphne

我是daphne的新手,我想知道如何在ubuntu服务器上部署在daphne上运行的django应用程序。我已经像文档说的那样配置了应用程序,并且工作正常,除了静态文件(js,css,imgs等)没有加载。我需要做什么?

2 个答案:

答案 0 :(得分:0)

使用这些设置,它们对我来说很好。我们这里有两个单独的文件夹。一个用于媒体文件,另一个用于静态文件。

STATIC_URL = '/static/'

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static_my_proj"),
]

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn", 
"static_root")

MEDIA_URL = '/media/'
MEDIA_ROOT = 
os.path.join(os.path.dirname(BASE_DIR),"static_cdn","media_root")

答案 1 :(得分:0)

抱歉,这是一个错误。我最近注意到,当我使用Channels 1.8时,我在routing.py上有这个代码 关于生产

app.get("/user/create", (req, res) => {
    res.setHeader('Content-Type', 'application/json')

    admin.auth().verifyIdToken(req.query.token).then(user => {
        let name = req.query.name

        user.updateProfile({
            displayName: name
        }).then(() => {
            res.send(JSON.stringify({
                result: false,
                error: err.message
            }))
        })

    })
})

这可能就是原因。在1.8上工作,2.0不工作。

除此之外

安德鲁戈德温(达芙妮和通道的蝠M)评论我

" Daphne将仅通过runserver为本地开发中的同一进程提供静态文件 - 一旦部署到生产环境,您需要单独运行collectstatic并提供静态文件,如下所示:https://docs.djangoproject.com/en/2.0/howto/static-files/deployment/#serving-static-files-in-production "