Jak mogę obsłużyć favicon.ico w fazie rozwoju? Mogę dodać trasę w moim urlconf, ale nie chcę, aby ta trasa została przeniesiona do środowiska produkcyjnego. Czy jest jakiś sposób to zrobić w local_settings.py?Django favicon.ico w rozwoju?
Odpowiedz
Z docs:
from django.conf.urls.static import static
urlpatterns = patterns("",
# Your stuff goes here
) + static('/', document_root='static/')
Tam nie wydaje się być sposób służyć jednemu plik statyczny, ale przynajmniej ta funkcja pomocnicza jest opakowaniem, które działa tylko wtedy, gdy DEBUG = True.
Możesz także utworzyć własny plik loader.py, który ładuje ustawienia, które chcesz przesłonić. ładuje ten plik powinien wyglądać tak:
try:
execfile(os.path.join(SETTINGS_DIR, 'loader.py'))
except:
pass
i dodaje się na końcu settings.py. Ustawienia te nie powinny być uwzględniane na serwerze produkcyjnym, powinny być wyświetlane tylko na komputerach programistycznych. Jeśli używasz git, dodaj program loader.py do pliku .gitignore.
Najprostszym sposobem byłoby po prostu umieścić go w katalogu statycznej z innymi mediami statycznych, a następnie określić jego położenie w HTML:
<link rel="shortcut icon" type="image/png"
href="{% static 'images/favicon.ico' %}"/>
Mój stary odpowiedź brzmiała:
można ustawić do wpisu w swoim numerze urls.py
i po prostu sprawdź, czy debug
jest prawdziwe. To uniemożliwiłoby jej obsługę w produkcji. Myślę, że możesz po prostu zrobić to samo, co media statyczne.
if settings.DEBUG:
urlpatterns += patterns('',
(r'^favicon.ico$', 'django.views.static.serve', {'document_root': '/path/to/favicon'}),
)
też może po prostu służyć favicon z widoku .:
from django.http import HttpResponse
def my_image(request):
image_data = open("/home/moneyman/public_html/media/img/favicon.ico", "rb").read()
return HttpResponse(image_data, mimetype="image/png")
Ten pracował dla mnie:
from django.conf.urls.static import static
...
if settings.DEBUG:
urlpatterns += static(r'/favicon.ico', document_root='static/favicon.ico')
- 1. favicon.ico nie znaleziono błędu?
- 2. favicon.ico „nie znaleziono błąd” w app silnika
- 3. ValueError: Brak wpisu manifestu plików statycznych dla "favicon.ico"
- 4. Rails.cache.fetch buforowanie w rozwoju
- 5. Migrowanie bazy danych z lokalnego rozwoju do Heroku-Django 1.8
- 6. Proces rozwoju
- 7. Przeglądarka nie wyświetla favicon.ico, ale istnieje
- 8. Czy większość przeglądarek automatycznie wyszukuje plik favicon.ico?
- 9. Jak poprawnie ustawić favicon.ico na projekcie vue.js?
- 10. Jak włączyć kompresję gzip dla favicon.ico?
- 11. Docker vs. Rakieta w rozwoju
- 12. Samouczek rozwoju modułów w Drupal
- 13. Przyspieszenie rozwoju sieci
- 14. Opcje rozwoju oprogramowania komputerowego
- 15. Niespompowywany komponent rozwoju infrastruktury
- 16. Konfigurowanie bazy danych PostgreSQL do lokalnego rozwoju w Django podczas korzystania z Heroku
- 17. Python - Zalecana IDE do zdalnego rozwoju
- 18. anonimizacji danych klienta w rozwoju lub testowania
- 19. Zwolnienie z rozwoju do produkcji w maven
- 20. Dekoratory a klasy w rozwoju sieci Pythona
- 21. Disable „tryb rozwoju” ostrzeżenie w VueJS
- 22. Organizacja kodu w rozwoju pakietu R
- 23. Assets ładuje się powoli w rozwoju
- 24. Pierwsze kroki w rozwoju aplikacji Blackberry
- 25. Ile modeli rozwoju Asyncronous w .NET?
- 26. Zmniejszenie zużycia pamięci w fazie rozwoju
- 27. Włącz asercje w Play! tryb rozwoju
- 28. Przesuwanie obiektu wzdłuż krzywej w rozwoju iPhone'a
- 29. jak zmienić tryb szyny rozwoju
- 30. Wyłączanie usługi Android WebView/WebViewClient Zainicjowana prośba favicon.ico
miałem zaznaczone to jako poprawne, ale przy bliższym faktycznie nie działa. django.views.static.serve będzie wyświetlać tylko katalogi, a nie pojedyncze pliki. – knite