Mimo że jest to stare pytanie, nadal mam problem. Podoba mi się sposób, w jaki adresy URL są generowane z listy w bieżącym rozwiązaniu, ale nie byłem przekonany, że jest najlepszy.
Po trochę badań chociaż znalazłem realfavicongenerator.net będąc bardzo przydatnych zasobów, które generuje wszystkie pliki wymagane favicons dla Ciebie i został wysłany this post przez kolegę, który wydaje się wspierać proponowane rozwiązanie, z nowszej wersji Django .
Na podstawie wszystkich powyżej, moim roztworu za pomocą natywnego sitemap ramy, django-robots do pliku robots.txt i słownika ROOT_ASSETS, plików z prefiksem jako klucz, a wartości jako lista plików, na przykład:
ROOT_ASSETS = {
"images/favicons/": [
"apple-touch-icon-114x114.png",
"apple-touch-icon-120x120.png",
"apple-touch-icon-144x144.png",
"apple-touch-icon-152x152.png",
"apple-touch-icon-180x180.png",
"apple-touch-icon-57x57.png",
"apple-touch-icon-60x60.png",
"apple-touch-icon-72x72.png",
"apple-touch-icon-76x76.png",
"apple-touch-icon-precomposed.png",
"favicon.ico",
]
}
Potem generowania moje adresy URL z:
from django.conf.urls import patterns, url, include
from django.contrib.staticfiles.storage import staticfiles_storage
root_assets_urls = []
for prefix, files in ROOT_ASSETS.iteritems():
for f in files:
asset_url = staticfiles_storage.url("{prefix}{file}".format(prefix=prefix, file=f))
root_assets_urls.append(
url(r'^{0}$'.format(f), RedirectView.as_view(url=asset_url))
)
root_assets = patterns('', *root_assets_urls)
urlpatterns = patterns(
'',
url(r'^', include(root_assets)),
[...]
)
jestem w tym także HTML generowanego przez realfavicongenerator.net w głowie mojego mistrza szablonu.
Więc, co jest głównym problemem: nie można załadować plików do heroku/S3 lub ustawić poprawny adres URL dla tych zasobów? – nk9
@ b1 - Ustawianie poprawnego adresu URL. – knite
wypróbuj te instrukcje [blog1] (http://matthewphiong.com/managing-django-static-files-on-heroku) [blog2] (http://www.iknuth.com/2011/10/deployinga-a- django-app-to-heroku-with-easy-statical-files-on-s3 /). Być ware Myślę, że są one dla django 1.3. Jeśli nie pomoże ci opublikować 'settings.py'. – nk9