为什么要为开发中推荐的静态文件添加路由?

时间:2016-10-11 16:02:32

标签: django

我有一个小项目在我的应用程序中使用一些静态文件,一切正常。

但在开发过程中,似乎建议添加如下内容:

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

在我的urls.py

但在开发中(DEBUG=True),runserver似乎能够提供静态文件,即使我没有运行collectstatic。所以我假设它直接从statics应用程序的子目录中提供。

所以为什么我们建议在static()文件中添加urls.py来调用static(),如果我们没有它呢?DEBUG=False加了class Person{ var name: String var city: String var country: String init(name: String, city: String, country: String){ self.name = name self.city = city self.country = country } func returnAttributes() -> [AnyObject]{ return [name, city, country] } } 无论如何都要let totalAttributes = attributes.count - 1 for i in 0...totalAttributes{ values[0].returnAttributes //returns (for example): ["Peter", "Paris", "France"] }

1 个答案:

答案 0 :(得分:4)

来自the docs

  

如果您按照上述说明使用django.contrib.staticfilesrunserver   当DEBUG设置为True时,它会自动执行此操作。如果你不这样做   django.contrib.staticfiles中有INSTALLED_APPS,你仍然可以   使用。手动提供静态文件   django.contrib.staticfiles.views.serve()查看。

static()辅助函数为您的urlpatterns添加serve()视图的网址。

正如您所看到的,如果DEBUG设置为True django.contrib.staticfiles位于INSTALLED_APPS,则静态文件仅在开发服务器中自动提供{1}}。如果不是后者,建议使用static()助手。