Fixed typos in docs headers.
diff --git a/docs/faq/troubleshooting.txt b/docs/faq/troubleshooting.txt
index 5a56c6daa30a9..d158f73338946 100644
--- a/docs/faq/troubleshooting.txt
+++ b/docs/faq/troubleshooting.txt
@@ -11,7 +11,7 @@ Problems running ``django-admin``
 =================================
 
 "command not found: `django-admin`"
-------------------------------------
+-----------------------------------
 
 :doc:`django-admin </ref/django-admin>` should be on your system path if you
 installed Django via ``python setup.py``. If it's not on your path, you can
diff --git a/docs/ref/checks.txt b/docs/ref/checks.txt
index a2066bf21667f..570fa7393c69d 100644
--- a/docs/ref/checks.txt
+++ b/docs/ref/checks.txt
@@ -15,7 +15,7 @@ API reference
 =============
 
 ``CheckMessage``
------------------
+----------------
 
 .. class:: CheckMessage(level, msg, hint=None, obj=None, id=None)
 
diff --git a/docs/ref/contrib/gis/tutorial.txt b/docs/ref/contrib/gis/tutorial.txt
index eb2fcd440a226..4be0ca592d257 100644
--- a/docs/ref/contrib/gis/tutorial.txt
+++ b/docs/ref/contrib/gis/tutorial.txt
@@ -53,7 +53,7 @@ would for any other project. We provide some tips for selected databases:
 * :doc:`install/spatialite`
 
 Create a New Project
-------------------------
+--------------------
 
 Use the standard ``django-admin`` script to create a project called
 ``geodjango``:
diff --git a/docs/ref/contrib/sitemaps.txt b/docs/ref/contrib/sitemaps.txt
index aebf62ac53fa8..5fa37613b0310 100644
--- a/docs/ref/contrib/sitemaps.txt
+++ b/docs/ref/contrib/sitemaps.txt
@@ -425,7 +425,7 @@ rendering. For more details, see the :doc:`TemplateResponse documentation
 </ref/template-response>`.
 
 Context variables
-------------------
+-----------------
 
 When customizing the templates for the
 :func:`~django.contrib.sitemaps.views.index` and
diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt
index af368c8dd5c41..203e9df453337 100644
--- a/docs/ref/databases.txt
+++ b/docs/ref/databases.txt
@@ -604,7 +604,7 @@ specific to SQLite that you should be aware of.
 .. _sqlite-string-matching:
 
 Substring matching and case sensitivity
------------------------------------------
+---------------------------------------
 
 For all SQLite versions, there is some slightly counter-intuitive behavior when
 attempting to match some types of strings.  These are triggered when using the
diff --git a/docs/ref/models/fields.txt b/docs/ref/models/fields.txt
index 983bef2c8034c..439bf4283cd67 100644
--- a/docs/ref/models/fields.txt
+++ b/docs/ref/models/fields.txt
@@ -356,7 +356,7 @@ respect to the month.
 Like :attr:`~Field.unique_for_date` and :attr:`~Field.unique_for_month`.
 
 ``verbose_name``
--------------------
+----------------
 
 .. attribute:: Field.verbose_name
 
@@ -365,7 +365,7 @@ will automatically create it using the field's attribute name, converting
 underscores to spaces. See :ref:`Verbose field names <verbose-field-names>`.
 
 ``validators``
--------------------
+--------------
 
 .. attribute:: Field.validators
 
@@ -415,7 +415,7 @@ guaranteed to fit numbers from ``-9223372036854775808`` to
 :class:`~django.forms.TextInput`.
 
 ``BinaryField``
--------------------
+---------------
 
 .. class:: BinaryField(**options)
 
diff --git a/docs/ref/models/indexes.txt b/docs/ref/models/indexes.txt
index 999513c9d6b42..1b2af670d7a44 100644
--- a/docs/ref/models/indexes.txt
+++ b/docs/ref/models/indexes.txt
@@ -28,7 +28,7 @@ options`_.
     Creates an index (B-Tree) in the database.
 
 ``fields``
------------
+----------
 
 .. attribute:: Index.fields
 
diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt
index 182c2f6c45cc8..e6e9348052986 100644
--- a/docs/ref/models/options.txt
+++ b/docs/ref/models/options.txt
@@ -302,7 +302,7 @@ Django quotes column and table names behind the scenes.
     human_readable_permission_name)``.
 
 ``default_permissions``
-------------------------------
+-----------------------
 
 .. attribute:: Options.default_permissions
 
diff --git a/docs/ref/settings.txt b/docs/ref/settings.txt
index 4e13c1e20e576..7b9283c1b27ce 100644
--- a/docs/ref/settings.txt
+++ b/docs/ref/settings.txt
@@ -1488,7 +1488,7 @@ Monday and so on.
 .. setting:: FIXTURE_DIRS
 
 ``FIXTURE_DIRS``
------------------
+----------------
 
 Default: ``[]`` (Empty list)
 
@@ -1949,7 +1949,7 @@ See :tfilter:`allowed date format strings <date>`. See also
 .. setting:: NUMBER_GROUPING
 
 ``NUMBER_GROUPING``
---------------------
+-------------------
 
 Default: ``0``
 
diff --git a/docs/topics/conditional-view-processing.txt b/docs/topics/conditional-view-processing.txt
index 7fabacf6c5103..02bf4635a82fb 100644
--- a/docs/topics/conditional-view-processing.txt
+++ b/docs/topics/conditional-view-processing.txt
@@ -147,7 +147,7 @@ using one of these decorators::
     front_page = last_modified(latest_entry)(front_page)
 
 Use ``condition`` when testing both conditions
-------------------------------------------------
+----------------------------------------------
 
 It might look nicer to some people to try and chain the ``etag`` and
 ``last_modified`` decorators if you want to test both preconditions. However,
diff --git a/docs/topics/db/models.txt b/docs/topics/db/models.txt
index bd76103a4d787..e152ea8f7b527 100644
--- a/docs/topics/db/models.txt
+++ b/docs/topics/db/models.txt
@@ -1349,7 +1349,7 @@ Or use a common ancestor to hold the :class:`~django.db.models.AutoField`::
         pass
 
 Field name "hiding" is not permitted
--------------------------------------
+------------------------------------
 
 In normal Python class inheritance, it is permissible for a child class to
 override any attribute from the parent class. In Django, this isn't usually
diff --git a/docs/topics/db/multi-db.txt b/docs/topics/db/multi-db.txt
index cff3adac21578..d39277b69f4ea 100644
--- a/docs/topics/db/multi-db.txt
+++ b/docs/topics/db/multi-db.txt
@@ -549,7 +549,7 @@ solution is to use ``db_manager()``, like this::
 ``db_manager()`` returns a copy of the manager bound to the database you specify.
 
 Using ``get_queryset()`` with multiple databases
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 If you're overriding ``get_queryset()`` on your manager, be sure to
 either call the method on the parent (using ``super()``) or do the
diff --git a/docs/topics/i18n/translation.txt b/docs/topics/i18n/translation.txt
index 07f34e87d3db9..a8c2a106e4668 100644
--- a/docs/topics/i18n/translation.txt
+++ b/docs/topics/i18n/translation.txt
@@ -1638,7 +1638,7 @@ That's it. Your translations are ready for use.
    files by default then you will need to reconfigure it.
 
 Troubleshooting: ``gettext()`` incorrectly detects ``python-format`` in strings with percent signs
----------------------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------------------
 
 In some cases, such as strings with a percent sign followed by a space and a
 :ref:`string conversion type <old-string-formatting>` (e.g.
