# Views ## `html_view` Directly render a template from `urls.py`, similar to using the generic `TemplateView`. ```python # urls.py from fbv.views import html_view urlpatterns = ( path("sample-html-view", html_view, {"template_name": "sample-html-view-template.html"}), ) ``` ## `redirect_view` Redirect to a named pattern from `urls.py`, similar to using the `RedirectView`. Can also specify whether the redirect is permanent or not (i.e. a 301 or 302). Defaults to a 302. ```python # urls.py from fbv.views import redirect_view urlpatterns = ( path("sample-html-view", redirect_view, {"pattern_name": "some-pattern-name"}), path("another-html-view", redirect_view, {"pattern_name": "another-pattern-name", permanent=True}), ) ``` ## `file` Serves a file, e.g. `robots.txt`. ```python # urls.py from fbv.views import file urlpatterns = ( path("robots.txt", file, {"file_path": "www/robots.txt"}), ) ``` ```{note} `file_path` is relative to Django's `settings.BASE_DIR` path. i.e. the example above would use the file located at `/www/sample-project/www/robots.txt` if `settings.BASE_DIR` is `Path("/www/sample-project/")`. ``` ## `favicon_file` Serves an image file as `favicon.ico`. ```{note} Even though the extension is `ico`, browsers will use other image formats. `PNG` images are widely supported and work great for this purpose. More details at: https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/#what-the-file-type. ``` ```python # urls.py from fbv.views import favicon_file urlpatterns = ( path("favicon.ico", favicon_file, {"file_path": "static/img/favicon.png"}), ) ``` ```{note} `file_path` is relative to Django's `settings.BASE_DIR` path. i.e. the example above would use the file located at `/www/sample-project/static/img/favicon.png` if `settings.BASE_DIR` is `Path("/www/sample-project/")`. ``` ## `favicon_emoji` Serves an emoji as `favicon.ico`. ```{note} Even though the extension is `ico`, browsers will use other image formats. The emoji will be rendered as an `SVG` which is supported by most modern browsers (other than Safari). More details at: https://adamj.eu/tech/2022/01/18/how-to-add-a-favicon-to-your-django-site/#what-the-file-type. ``` ```python # urls.py from fbv.views import favicon_emoji urlpatterns = ( path("favicon.ico", favicon_emoji, {"emoji": "✨"}), ) ```