在我的Django应用程序中,我将staticfiles应用程序与Whitenoise结合使用。
我的Web服务器可通过两个域访问,我想为每个域提供不同的静态文件。
我的想法是 www.my_domain.com/static / 将投放os.path.join(BASE_DIR, "staticfiles/my_domain/")
中的文件,反之亦然 www.my_other_domain.com / static / 。
实现此目标的最佳方法是什么?我想到了三种解决方案:
STATIC_ROOT
的位置创建子类,以便将域考虑在内谢谢!
答案 0 :(得分:1)
我建议您使用问题中的第三个选项。我要说的是,不要为每个站点创建不同的静态根目录,而应保持静态根目录相同,并根据您的域创建两个包含静态文件的文件夹。例如:
// Tested On CRM v8.2
// lock a header control
Xrm.Page.getControl("header_statuscode").setDisabled(true);
// this won't work if statusreason is hosted in the header section
Xrm.Page.getControl("statuscode").setDisabled(true);
// lock all controls on form, including header controls
Xrm.Page.ui.controls.forEach(function (control) {
if (control.setDisabled) {
control.setDisabled(true);
}
});
添加一个中间件,您可以在其中将域路径附加到请求:
-- STATIC_ROOT
| -- domain_a
| -- js
| -- css
| -- img
| -- domain_b
| -- js
| -- css
| -- img
在模板中,像这样使用它:
def domain_middleware(get_response):
def middleware(request):
request.domain = request.META['HTTP_HOST'].split('.')[-1]
response = get_response(request)
return response
return middleware