123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- =====================================
- Writing your first Django app, part 8
- =====================================
- This tutorial begins where :doc:`Tutorial 7 </intro/tutorial07>` left off. We've
- built our web-poll application and will now look at third-party packages. One of
- Django's strengths is the rich ecosystem of third-party packages. They're
- community developed packages that can be used to quickly improve the feature set
- of an application.
- This tutorial will show how to add :pypi:`Django Debug Toolbar
- <django-debug-toolbar>`, a commonly used third-party package. The Django Debug
- Toolbar has ranked in the top three most used third-party packages in the
- Django Developers Survey in recent years.
- .. admonition:: Where to get help:
- If you're having trouble going through this tutorial, please head over to
- the :doc:`Getting Help</faq/help>` section of the FAQ.
- Installing Django Debug Toolbar
- ===============================
- Django Debug Toolbar is a useful tool for debugging Django web applications.
- It's a third-party package that is maintained by the community organization
- `Django Commons <https://github.com/django-commons>`_. The toolbar helps you
- understand how your application functions and to identify problems. It does so
- by providing panels that provide debug information about the current request
- and response.
- To install a third-party application like the toolbar, you need to install
- the package by running the below command within an activated virtual
- environment. This is similar to our earlier step to :ref:`install Django
- <installing-official-release>`.
- .. console::
- $ python -m pip install django-debug-toolbar
- Third-party packages that integrate with Django need some post-installation
- setup to integrate them with your project. Often you will need to add the
- package's Django app to your :setting:`INSTALLED_APPS` setting. Some packages
- need other changes, like additions to your URLconf (``urls.py``).
- Django Debug Toolbar requires several setup steps. Follow them in `its
- installation guide
- <https://django-debug-toolbar.readthedocs.io/en/latest/installation.html>`_.
- The steps are not duplicated in this tutorial, because as a third-party
- package, it may change separately to Django's schedule.
- Once installed, you should be able to see the DjDT "handle" on the right side
- of the browser window when you browse to ``http://localhost:8000/admin/``.
- Click it to open the debug toolbar and use the tools in each panel. See the
- `panels documentation page`__ for more information on what the panels show.
- __ https://django-debug-toolbar.readthedocs.io/en/latest/panels.html
- Getting help from others
- ========================
- At some point you will run into a problem, for example the
- toolbar may not render. When this happens and you're unable to
- resolve the issue yourself, there are options available to you.
- #. If the problem is with a specific package, check if there's a
- troubleshooting of FAQ in the package's documentation. For example the
- Django Debug Toolbar has a `Tips section
- <https://django-debug-toolbar.readthedocs.io/en/latest/tips.html>`_ that
- outlines troubleshooting options.
- #. Search for similar issues on the package's issue tracker. Django Debug
- Toolbar’s is `on GitHub <https://github.com/django-commons/django-debug-toolbar/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc>`_.
- #. Consult the `Django Forum <https://forum.djangoproject.com/>`_.
- #. Join the `Django Discord server <https://discord.gg/xcRH6mN4fa>`_.
- #. Join the #Django IRC channel on `Libera.chat <https://libera.chat/>`_.
- Installing other third-party packages
- =====================================
- There are many more third-party packages, which you can find using the
- fantastic Django resource, `Django Packages <https://djangopackages.org/>`_.
- It can be difficult to know what third-party packages you should use. This
- depends on your needs and goals. Sometimes it's fine to use a package that's
- in its alpha state. Other times, you need to know it's production ready.
- `Adam Johnson has a blog post
- <https://adamj.eu/tech/2021/11/04/the-well-maintained-test/>`_ that outlines
- a set of characteristics that qualifies a package as "well maintained".
- Django Packages shows data for some of these characteristics, such as when the
- package was last updated.
- As Adam points out in his post, when the answer to one of the questions is
- "no", that's an opportunity to contribute.
- What's next?
- ============
- The beginner tutorial ends here. In the meantime, you might want to check out
- some pointers on :doc:`where to go from here </intro/whatsnext>`.
- If you are familiar with Python packaging and interested in learning how to
- turn polls into a "reusable app", check out :doc:`Advanced tutorial: How to
- write reusable apps</intro/reusable-apps>`.
|