我来自均值,快速,角度和节点(MEAN)堆栈背景。我真的很喜欢angular如何具有独立的组件,然后我们可以为每个组件设置样式,然后将它们相互嵌套。在公司中时,它更具组织性和共享性。实际了解结构会更容易。我可以在django中这样做吗,因为我注意到我的css应该全部放在一个静态文件中。有可能吗?
注意:Angular不是Angular.js
答案 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方法。在谷歌搜索中无法轻松找到本教程。