0

我們有一個獨立的前端服務器,它只提供靜態的AngularJS文件。對於SEO,我們希望使用Prerender等服務,因此需要運行可以路由URL的服務器。
我們正在計劃Django後端與Prerender中間件相同(因爲有一臺運行Python的服務器)。在Django中運行Angular SPA

我可以使用服務於所有URL靜態文件:

urlpatterns += patterns('', 
        url(r'^$', 'django.views.static.serve', 
         kwargs={'path': 'index.html', 
           'document_root':settings.STATIC_ROOT}), 
    ) 

現在,我的問題是:
1的角應用程序使用這種靜態文件的本地路徑,如樣式/ f.css,通過Django提供服務(通過路由)最簡單的方法是什麼?任何使用Django的Static關鍵字的替代方法?
2- Django不推薦直接提供靜態文件。那麼,您將通過App引擎(通過路由)爲SPA提供什麼服務?

回答

1

我的建議是使用某種類型的URL前綴(STATIC_URL),比如「靜態」,以便清楚地區分對您的Django視圖和您的靜態文件的請求。

要提供靜態資產,您可以使用whitenoise

如果你真的需要避免STATIC_URL前綴,那麼可以繼承或改編DjangoWhiteNoise,轉而使用STATIC_URL前綴的一組網址前綴模式,如「CSS」,「JS」和「IMG」

+0

我真的不打算從此服務器提供任何Django視圖。只需找到讓現有的Angular應用程序從Django服務的最簡單的方法即可 –