Go to file
Mariusz Felisiak e1e81aa1c4
Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs from being accepted in URLValidator on Python 3.9.5+.
In Python 3.9.5+ urllib.parse() automatically removes ASCII newlines
and tabs from URLs [1, 2]. Unfortunately it created an issue in
the URLValidator. URLValidator uses urllib.urlsplit() and
urllib.urlunsplit() for creating a URL variant with Punycode which no
longer contains newlines and tabs in Python 3.9.5+. As a consequence,
the regular expression matched the URL (without unsafe characters) and
the source value (with unsafe characters) was considered valid.

[1] https://bugs.python.org/issue43882 and
[2] 76cd81d603
2021-05-06 08:45:23 +02:00
.github Made GitHub action add welcome message only after opening PR. 2021-03-12 20:17:00 +01:00
.tx
django Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs from being accepted in URLValidator on Python 3.9.5+. 2021-05-06 08:45:23 +02:00
docs Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs from being accepted in URLValidator on Python 3.9.5+. 2021-05-06 08:45:23 +02:00
extras Refs #23433 -- Removed django-admin.py entry point per deprecation timeline. 2021-01-14 17:50:04 +01:00
js_tests Fixed #32204 -- Added quick filter to admin's navigation sidebar. 2021-03-31 09:31:37 +02:00
scripts
tests Fixed #32713, Fixed CVE-2021-32052 -- Prevented newlines and tabs from being accepted in URLValidator on Python 3.9.5+. 2021-05-06 08:45:23 +02:00
.editorconfig Used GitHub actions for JavaScript tests. 2021-01-19 20:14:56 +01:00
.eslintignore Refs #32165 -- Bumped minimum ESLint version to 7.16.0 to match pre-commit configuration. 2021-01-19 21:11:34 +01:00
.eslintrc Enabled ESLint's "eqeqeq" rule. 2020-05-18 07:42:51 +02:00
.gitattributes
.gitignore
.pre-commit-config.yaml Bumped versions in pre-commit configuration. 2021-04-06 07:32:59 +02:00
AUTHORS Fixed #32681 -- Fixed VariableDoesNotExist when rendering some admin template. 2021-04-26 07:08:16 +02:00
CONTRIBUTING.rst
Gruntfile.js Refs #31265 -- Updated .eslintignore to match eslint tests 2020-12-23 11:14:48 +01:00
INSTALL Fixed #32355 -- Dropped support for Python 3.6 and 3.7 2021-02-10 10:20:54 +01:00
LICENSE
LICENSE.python Updated Python license for 2020. 2020-02-04 11:58:12 +01:00
MANIFEST.in
README.rst Linked to DSF fundraising page from README. 2020-08-05 13:47:26 +02:00
package.json Refs #32165 -- Bumped minimum ESLint version to 7.16.0 to match pre-commit configuration. 2021-01-19 21:11:34 +01:00
pyproject.toml Enabled build-system isolation via pip. 2021-02-11 08:07:55 +01:00
setup.cfg Updated asgiref dependency for 3.2 release series. 2021-04-06 10:38:43 +02:00
setup.py Removed obsolete version check in setup.py. 2021-04-15 08:12:35 +02:00
tox.ini Used allowlist_externals in tox.ini (again) 2021-02-10 17:09:11 +01:00

README.rst

======
Django
======

Django is a high-level Python Web framework that encourages rapid development
and clean, pragmatic design. Thanks for checking it out.

All documentation is in the "``docs``" directory and online at
https://docs.djangoproject.com/en/stable/. If you're just getting started,
here's how we recommend you read the docs:

* First, read ``docs/intro/install.txt`` for instructions on installing Django.

* Next, work through the tutorials in order (``docs/intro/tutorial01.txt``,
  ``docs/intro/tutorial02.txt``, etc.).

* If you want to set up an actual deployment server, read
  ``docs/howto/deployment/index.txt`` for instructions.

* You'll probably want to read through the topical guides (in ``docs/topics``)
  next; from there you can jump to the HOWTOs (in ``docs/howto``) for specific
  problems, and check out the reference (``docs/ref``) for gory details.

* See ``docs/README`` for instructions on building an HTML version of the docs.

Docs are updated rigorously. If you find any problems in the docs, or think
they should be clarified in any way, please take 30 seconds to fill out a
ticket here: https://code.djangoproject.com/newticket

To get more help:

* Join the ``#django`` channel on irc.freenode.net. Lots of helpful people hang
  out there. See https://freenode.net/kb/answer/chat if you're new to IRC.

* Join the django-users mailing list, or read the archives, at
  https://groups.google.com/group/django-users.

To contribute to Django:

* Check out https://docs.djangoproject.com/en/dev/internals/contributing/ for
  information about getting involved.

To run Django's test suite:

* Follow the instructions in the "Unit tests" section of
  ``docs/internals/contributing/writing-code/unit-tests.txt``, published online at
  https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/unit-tests/#running-the-unit-tests

Supporting the Development of Django
====================================

Django's development depends on your contributions. 

If you depend on Django, remember to support the Django Software Foundation: https://www.djangoproject.com/fundraising/