我可以有条理地使用django吗?

时间:2018-08-01 15:29:51

标签: django angular

我来自均值,快速,角度和节点(MEAN)堆栈背景。我真的很喜欢angular如何具有独立的组件,然后我们可以为每个组件设置样式,然后将它们相互嵌套。在公司中时,它更具组织性和共享性。实际了解结构会更容易。我可以在django中这样做吗,因为我注意到我的css应该全部放在一个静态文件中。有可能吗?

注意:Angular不是Angular.js

2 个答案:

答案 0 :(得分:1)

虽然您的所有静态文件确实需要包含在生产环境中的一个文件夹中,但它们可以位于开发中的单独位置。

发展:分开

您可以为项目中的每个应用程序使用单独的静态文件,但是每个文件都应包含一个包含应用程序名称的文件夹。因此,应用程序style.css中的静态文件myapp的路径将类似于:myproject/myapp/static/myapp/style.css。您还可以在myproject/myapp/static/myapp内放置更多文件夹,以分隔图像,JS和CSS。

要进行此工作,您需要确保django.contrib.staticfiles中有INSTALLED_APPS。然后在settings.py中进行一些编辑,并设置STATIC_URL = '/static/'STATICFILES_DIRS=[os.path.join(BASE_DIR, 'static')],以便Django知道要引用的URL以及要检查静态文件的文件夹。

生产:已收集

只有将DEBUG设置为True时,以上内容才有效,因此仅在开发中有效。要使其在生产环境中有效,您需要设置STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles'),以便Django知道要在myproject/staticfiles中查找静态文件。

然后只需运行python manage.py collectstatic,Django便会遍历您所有的应用程序,并从其中的名为static的文件夹中提取所有内容,并将所有内容放置在STATIC_ROOT中。

这就是为什么使用约定将myapp放在static的{​​{1}}内的原因,因为它们都位于同一个文件夹中。

有关更多信息,请参阅文档:https://docs.djangoproject.com/en/2.0/howto/static-files/

答案 1 :(得分:1)

我们可以使用webpack方法。在谷歌搜索中无法轻松找到本教程。