From fdeca380724d523330db9d816c4cda50cda320fd Mon Sep 17 00:00:00 2001 From: Jordan Bae Date: Sun, 19 Jan 2025 00:29:14 +0900 Subject: [PATCH] Moved manual testing instructions from intro to submitting patches docs. The section on manual testing, including how to use a local checkout of Django, is moved from the contribution intro to the submitting patches docs. This makes it easier for reviewers and authors to follow best practices. --- .../writing-code/submitting-patches.txt | 19 ++++++++++++++++++ docs/intro/contributing.txt | 20 +++---------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/docs/internals/contributing/writing-code/submitting-patches.txt b/docs/internals/contributing/writing-code/submitting-patches.txt index 9844d5e2c7..75186111dd 100644 --- a/docs/internals/contributing/writing-code/submitting-patches.txt +++ b/docs/internals/contributing/writing-code/submitting-patches.txt @@ -317,6 +317,25 @@ utilities, such as a ``@deprecate_posargs`` decorator to assist with converting positional-or-keyword arguments to keyword-only. See the inline documentation in the module source. +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 `. + +#. Set up a Django project outside the source tree (you can use the :doc:`first + part of the tutorial ` 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 ======================== diff --git a/docs/intro/contributing.txt b/docs/intro/contributing.txt index ad1b8a8413..0b93d61b7a 100644 --- a/docs/intro/contributing.txt +++ b/docs/intro/contributing.txt @@ -132,6 +132,8 @@ that they don't interfere with each other. It's a good idea to keep all your virtual environments in one place, for example in ``.virtualenvs/`` in your home directory. +.. _intro-contributing-install-local-copy: + Create a new virtual environment by running: .. console:: @@ -168,8 +170,6 @@ command line to help you keep track of which one you are using. Anything you install through ``pip`` while this name is displayed will be installed in that virtual environment, isolated from other environments and system-wide packages. -.. _intro-contributing-install-local-copy: - Go ahead and install the previously cloned copy of Django: .. console:: @@ -178,21 +178,7 @@ Go ahead and install the previously cloned copy of Django: The installed version of Django is now pointing at your local copy by installing in editable mode. You will immediately see any changes you make to it, which is -of great help when writing your first contribution. - -Creating projects with a local copy of Django ---------------------------------------------- - -It may be helpful to test your local changes with a Django project. First you -have to create a new virtual environment, :ref:`install the previously cloned -local copy of Django in editable mode `, -and create a new Django project outside of your local copy of Django. You will -immediately see any changes you make to Django in your new project, which is -of great help when writing your first contribution, especially if testing -any changes to the UI. - -You can follow the :doc:`tutorial` for help in creating a -Django project. +of great help when testing your first contribution. Running Django's test suite for the first time ==============================================