summaryrefslogtreecommitdiff
path: root/docs/internals/contributing/writing-code
diff options
context:
space:
mode:
Diffstat (limited to 'docs/internals/contributing/writing-code')
-rw-r--r--docs/internals/contributing/writing-code/submitting-patches.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/internals/contributing/writing-code/submitting-patches.txt b/docs/internals/contributing/writing-code/submitting-patches.txt
index 5fe3a151de..173c0a56c7 100644
--- a/docs/internals/contributing/writing-code/submitting-patches.txt
+++ b/docs/internals/contributing/writing-code/submitting-patches.txt
@@ -312,6 +312,25 @@ Once you have completed these steps, you are finished with the deprecation.
In each :term:`feature release <Feature release>`, all
``RemovedInDjangoXXWarning``\s matching the new version are removed.
+Testing with a Django project
+=============================
+
+It's important to test local changes using a Django project. This allows
+ensuring that the changes behave as expected in a real environment, especially
+for user-facing features such as templates, forms, or the admin.
+
+To do this:
+
+#. Create a virtual environment and :ref:`install the cloned copy of Django in
+ editable mode <intro-contributing-install-local-copy>`.
+
+#. Set up a Django project outside the source tree (you can use the :doc:`first
+ part of the tutorial </intro/tutorial01>` for guidance).
+
+With this setup, any changes made to the Django checkout will take effect
+immediately in the test project, allowing manual testing of contributions
+against a new or existing app.
+
JavaScript contributions
========================